From 22ffa3b470ca341cf2c9800f810f2821758b890e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 10 Apr 2013 09:43:58 -0700 Subject: [PATCH] 3.8-stable patches added patches: block-avoid-using-uninitialized-value-in-from-queue_var_store.patch --- ...alized-value-in-from-queue_var_store.patch | 39 +++++++++++++++++++ queue-3.8/series | 1 + 2 files changed, 40 insertions(+) create mode 100644 queue-3.8/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch diff --git a/queue-3.8/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch b/queue-3.8/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch new file mode 100644 index 00000000000..0426f55ea19 --- /dev/null +++ b/queue-3.8/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch @@ -0,0 +1,39 @@ +From c678ef5286ddb5cf70384ad5af286b0afc9b73e1 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Wed, 3 Apr 2013 21:53:57 +0200 +Subject: block: avoid using uninitialized value in from queue_var_store + +From: Arnd Bergmann + +commit c678ef5286ddb5cf70384ad5af286b0afc9b73e1 upstream. + +As found by gcc-4.8, the QUEUE_SYSFS_BIT_FNS macro creates functions +that use a value generated by queue_var_store independent of whether +that value was set or not. + +block/blk-sysfs.c: In function 'queue_store_nonrot': +block/blk-sysfs.c:244:385: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized] + +Unlike most other such warnings, this one is not a false positive, +writing any non-number string into the sysfs files indeed has +an undefined result, rather than returning an error. + +Signed-off-by: Arnd Bergmann +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman + +--- + block/blk-sysfs.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/block/blk-sysfs.c ++++ b/block/blk-sysfs.c +@@ -229,6 +229,8 @@ queue_store_##name(struct request_queue + unsigned long val; \ + ssize_t ret; \ + ret = queue_var_store(&val, page, count); \ ++ if (ret < 0) \ ++ return ret; \ + if (neg) \ + val = !val; \ + \ diff --git a/queue-3.8/series b/queue-3.8/series index 1818ce4e248..fae6f23b7b1 100644 --- a/queue-3.8/series +++ b/queue-3.8/series @@ -42,3 +42,4 @@ spinlocks-and-preemption-points-need-to-be-at-least-compiler-barriers.patch crypto-ux500-add-missing-comma.patch crypto-gcm-fix-assumption-that-assoc-has-one-segment.patch drm-mgag200-index-24-in-extended-crtc-registers-is-24-in-hex-not-decimal.patch +block-avoid-using-uninitialized-value-in-from-queue_var_store.patch -- 2.47.3