From aa823ce645d5e7f62b838b3342bbfbe1ac462d41 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 27 Sep 2013 16:50:53 -0700 Subject: [PATCH] 3.10-stable patches added patches: bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch perf-tools-handle-jited-code-in-shared-memory.patch --- ...-of-bs-bio_integrity_pool-after-free.patch | 35 ++++++++++++++++++ ...divide-operation-for-64bit-arguments.patch | 37 +++++++++++++++++++ ...s-handle-jited-code-in-shared-memory.patch | 33 +++++++++++++++++ queue-3.10/series | 3 ++ 4 files changed, 108 insertions(+) create mode 100644 queue-3.10/bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch create mode 100644 queue-3.10/cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch create mode 100644 queue-3.10/perf-tools-handle-jited-code-in-shared-memory.patch diff --git a/queue-3.10/bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch b/queue-3.10/bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch new file mode 100644 index 00000000000..76a5a7a3b26 --- /dev/null +++ b/queue-3.10/bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch @@ -0,0 +1,35 @@ +From adbe6991efd36104ac9eaf751993d35eaa7f493a Mon Sep 17 00:00:00 2001 +From: Bjorn Helgaas +Date: Wed, 29 May 2013 16:29:55 -0600 +Subject: bio-integrity: Fix use of bs->bio_integrity_pool after free + +From: Bjorn Helgaas + +commit adbe6991efd36104ac9eaf751993d35eaa7f493a upstream. + +This fixes a copy and paste error introduced by 9f060e2231 +("block: Convert integrity to bvec_alloc_bs()"). + +Found by Coverity (CID 1020654). + +Signed-off-by: Bjorn Helgaas +Acked-by: Kent Overstreet +Signed-off-by: Jens Axboe +Cc: Jonghwan Choi +Signed-off-by: Greg Kroah-Hartman + +--- + fs/bio-integrity.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/fs/bio-integrity.c ++++ b/fs/bio-integrity.c +@@ -734,7 +734,7 @@ void bioset_integrity_free(struct bio_se + mempool_destroy(bs->bio_integrity_pool); + + if (bs->bvec_integrity_pool) +- mempool_destroy(bs->bio_integrity_pool); ++ mempool_destroy(bs->bvec_integrity_pool); + } + EXPORT_SYMBOL(bioset_integrity_free); + diff --git a/queue-3.10/cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch b/queue-3.10/cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch new file mode 100644 index 00000000000..e64029ab66e --- /dev/null +++ b/queue-3.10/cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch @@ -0,0 +1,37 @@ +From f3cff25f05f2ac29b2ee355e611b0657482f6f1d Mon Sep 17 00:00:00 2001 +From: Anatol Pomozov +Date: Sun, 22 Sep 2013 12:43:47 -0600 +Subject: cfq: explicitly use 64bit divide operation for 64bit arguments + +From: Anatol Pomozov + +commit f3cff25f05f2ac29b2ee355e611b0657482f6f1d upstream. + +'samples' is 64bit operant, but do_div() second parameter is 32. +do_div silently truncates high 32 bits and calculated result +is invalid. + +In case if low 32bit of 'samples' are zeros then do_div() produces +kernel crash. + +Signed-off-by: Anatol Pomozov +Acked-by: Tejun Heo +Signed-off-by: Jens Axboe +Cc: Jonghwan Choi +Signed-off-by: Greg Kroah-Hartman + +--- + block/cfq-iosched.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/block/cfq-iosched.c ++++ b/block/cfq-iosched.c +@@ -1803,7 +1803,7 @@ static u64 cfqg_prfill_avg_queue_size(st + + if (samples) { + v = blkg_stat_read(&cfqg->stats.avg_queue_size_sum); +- do_div(v, samples); ++ v = div64_u64(v, samples); + } + __blkg_prfill_u64(sf, pd, v); + return 0; diff --git a/queue-3.10/perf-tools-handle-jited-code-in-shared-memory.patch b/queue-3.10/perf-tools-handle-jited-code-in-shared-memory.patch new file mode 100644 index 00000000000..c4c3bcb275d --- /dev/null +++ b/queue-3.10/perf-tools-handle-jited-code-in-shared-memory.patch @@ -0,0 +1,33 @@ +From 89365e6c9ad4c0e090e4c6a4b67a3ce319381d89 Mon Sep 17 00:00:00 2001 +From: Andi Kleen +Date: Wed, 24 Apr 2013 17:03:02 -0700 +Subject: perf tools: Handle JITed code in shared memory + +From: Andi Kleen + +commit 89365e6c9ad4c0e090e4c6a4b67a3ce319381d89 upstream. + +Need to check for /dev/zero. + +Most likely more strings are missing too. + +Signed-off-by: Andi Kleen +Link: http://lkml.kernel.org/r/1366848182-30449-1-git-send-email-andi@firstfloor.org +Signed-off-by: Arnaldo Carvalho de Melo +Cc: Vinson Lee +Signed-off-by: Greg Kroah-Hartman + +--- + tools/perf/util/map.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/tools/perf/util/map.c ++++ b/tools/perf/util/map.c +@@ -21,6 +21,7 @@ const char *map_type__name[MAP__NR_TYPES + static inline int is_anon_memory(const char *filename) + { + return !strcmp(filename, "//anon") || ++ !strcmp(filename, "/dev/zero (deleted)") || + !strcmp(filename, "/anon_hugepage (deleted)"); + } + diff --git a/queue-3.10/series b/queue-3.10/series index 3592656e326..b41663d7fed 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -39,3 +39,6 @@ udf-standardize-return-values-in-mount-sequence.patch udf-refuse-rw-mount-of-the-filesystem-instead-of-making-it-ro.patch audit-fix-endless-wait-in-audit_log_start.patch mm-fix-aio-performance-regression-for-database-caused-by-thp.patch +perf-tools-handle-jited-code-in-shared-memory.patch +bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch +cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch -- 2.47.3