summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2010-10-26 14:21:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-26 16:52:04 -0700
commit52c5171214ff3327961d0ce0db7e8d2ce55004fd (patch)
tree705e7f51b39f4e8af767cc2a8df19e9e78f15000
parent1b627d5771312c92404b66f0a0b16f66036dd2e1 (diff)
kfifo: disable __kfifo_must_check_helper()
This helper is wrong: it coerces signed values into unsigned ones, so code such as if (kfifo_alloc(...) < 0) { error } will fail to detect the error. So let's disable __kfifo_must_check_helper() for 2.6.36. Cc: Randy Dunlap <randy.dunlap@oracle.com> Cc: Stefani Seibold <stefani@seibold.net> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/kfifo.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/include/linux/kfifo.h b/include/linux/kfifo.h
index 62dbee554f6..c238ad2f82e 100644
--- a/include/linux/kfifo.h
+++ b/include/linux/kfifo.h
@@ -171,11 +171,8 @@ struct kfifo_rec_ptr_2 __STRUCT_KFIFO_PTR(unsigned char, 2, void);
}
-static inline unsigned int __must_check
-__kfifo_must_check_helper(unsigned int val)
-{
- return val;
-}
+/* __kfifo_must_check_helper() is temporarily disabled because it was faulty */
+#define __kfifo_must_check_helper(x) (x)
/**
* kfifo_initialized - Check if the fifo is initialized