Re: [bisected] kernel panic 2.6.22 -> 2.6.26-rc9+

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrew Morton
Date: Tuesday, July 22, 2008 - 10:00 pm

On Wed, 23 Jul 2008 06:52:31 +0200 Willy Tarreau <w@1wt.eu> wrote:


This one?

From: Andrew Morton <akpm@linux-foundation.org>

arm's fls() is implemented as a macro, causing it to misbehave when passed
64-bit arguments.  Fix.

Cc: Nickolay Vinogradov <nickolay@protei.ru>
Tested-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 include/asm-arm/bitops.h |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff -puN include/asm-arm/bitops.h~arm-fix-fls-for-64-bit-arguments include/asm-arm/bitops.h
--- a/include/asm-arm/bitops.h~arm-fix-fls-for-64-bit-arguments
+++ a/include/asm-arm/bitops.h
@@ -277,9 +277,16 @@ static inline int constant_fls(int x)
  * the clz instruction for much better code efficiency.
  */
 
-#define fls(x) \
+#define __fls(x) \
 	( __builtin_constant_p(x) ? constant_fls(x) : \
 	  ({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )
+
+/* Implement fls() in C so that 64-bit args are suitably truncated */
+static inline int fls(int x)
+{
+	return __fls(x);
+}
+
 #define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
 #define __ffs(x) (ffs(x) - 1)
 #define ffz(x) __ffs( ~(x) )
_


Nope, I'm just kind of sitting on it.  I'll put a stable@kernel.org tag
on it and send it to Russell I guess.

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Krzysztof Halasa, (Sat Jul 12, 5:28 pm)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Andrew Morton, (Sun Jul 13, 1:31 am)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Krzysztof Halasa, (Sun Jul 13, 3:48 am)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Andrew Morton, (Sun Jul 13, 11:22 am)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Krzysztof Halasa, (Sun Jul 13, 2:51 pm)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Andrew Morton, (Sun Jul 13, 2:55 pm)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Willy Tarreau, (Tue Jul 22, 9:52 pm)
Re: [bisected] kernel panic 2.6.22 -> 2.6.26-rc9+, Andrew Morton, (Tue Jul 22, 10:00 pm)
Re: [bisected] kernel panic 2.6.22 -&gt; 2.6.26-rc9+, Willy Tarreau, (Tue Jul 22, 10:06 pm)