Re: WARN_ON() which sometimes sucks
From: Joe Korty
Date: Wed Aug 01 2007 - 11:19:34 EST
On Wed, Aug 01, 2007 at 02:20:48PM +1000, Paul Mackerras wrote:
> Linus Torvalds writes:
>
> > Umm. The WARN_ON() might actually get a "long long" value for all we know.
> > Ie it's perfectly possible that the WARN_ON might look like
> >
> > /* Must not have high bits on */
> > WARN_ON(offset & 0xffffffff00000000);
> >
> > which on a 32-bit pcc would apparently do the wrong thing entirely as it
> > stands now. No?
>
> Actually, because of the typeof in the powerpc WARN_ON, I think it
> would fail to build since we'd be passing a long long value to an
> inline asm, or at least I hope it would fail to build. :)
Turning the condition into an integer should work ...
#define NEW_WARN_ON(x) OLD_WARN_ON(!!(x))
Regards,
Joe
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/