]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Apr 2013 16:43:52 +0000 (09:43 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Apr 2013 16:43:52 +0000 (09:43 -0700)
added patches:
block-avoid-using-uninitialized-value-in-from-queue_var_store.patch

queue-3.4/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch b/queue-3.4/block-avoid-using-uninitialized-value-in-from-queue_var_store.patch
new file mode 100644 (file)
index 0000000..dd6e2ef
--- /dev/null
@@ -0,0 +1,39 @@
+From c678ef5286ddb5cf70384ad5af286b0afc9b73e1 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Wed, 3 Apr 2013 21:53:57 +0200
+Subject: block: avoid using uninitialized value in from queue_var_store
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+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 <arnd@arndb.de>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ block/blk-sysfs.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/block/blk-sysfs.c
++++ b/block/blk-sysfs.c
+@@ -200,6 +200,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;                                             \
+                                                                       \
index 0e26d16fb704bd215db9b3c8b40e822d357802fb..3ef1ab801a6f69db370ef63d9a32632fc262e8f0 100644 (file)
@@ -19,3 +19,4 @@ x86-remove-the-x32-syscall-bitmask-from-syscall_get_nr.patch
 hwspinlock-fix-__hwspin_lock_request-error-path.patch
 spinlocks-and-preemption-points-need-to-be-at-least-compiler-barriers.patch
 crypto-gcm-fix-assumption-that-assoc-has-one-segment.patch
+block-avoid-using-uninitialized-value-in-from-queue_var_store.patch