From: Greg Kroah-Hartman Date: Fri, 27 Sep 2013 23:51:54 +0000 (-0700) Subject: 3.11-stable patches X-Git-Tag: v3.0.98~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=af33f79ba672eddec37e624dac6c08e90194b055;p=thirdparty%2Fkernel%2Fstable-queue.git 3.11-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 --- diff --git a/queue-3.11/bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch b/queue-3.11/bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch new file mode 100644 index 00000000000..76a5a7a3b26 --- /dev/null +++ b/queue-3.11/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.11/cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch b/queue-3.11/cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch new file mode 100644 index 00000000000..e64029ab66e --- /dev/null +++ b/queue-3.11/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.11/series b/queue-3.11/series index e74f02d28f4..b5e6b07813c 100644 --- a/queue-3.11/series +++ b/queue-3.11/series @@ -60,3 +60,5 @@ 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 +bio-integrity-fix-use-of-bs-bio_integrity_pool-after-free.patch +cfq-explicitly-use-64bit-divide-operation-for-64bit-arguments.patch