linux/include
Linus Torvalds 8d4fbcfbe0 Fix WARN_ON() on bitfield ops
Alexey Dobriyan noticed that the new WARN_ON() semantics that were
introduced by commit 684f978347 (to also
return the value to be warned on) didn't compile when given a bitfield,
because the typeof doesn't work for bitfields.

So instead of the typeof trick, use an "int" variable together with a
"!!(x)" expression, as suggested by Al Viro.

To make matters more interesting, Paul Mackerras points out that that is
sub-optimal on Power, but the old asm-coded comparison seems to be buggy
anyway on 32-bit Power if the conditional was 64-bit, so I think there
are more problems there.

Regardless, the new WARN_ON() semantics may have been a bad idea.  But
this at least avoids the more serious complications.

Cc: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Al Viro <viro@ftp.linux.org.uk>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2007-07-31 21:12:07 -07:00
..
acpi ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
asm-alpha remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-arm remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-avr32 remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-blackfin remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-cris remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-frv remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-generic Fix WARN_ON() on bitfield ops 2007-07-31 21:12:07 -07:00
asm-h8300 remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-i386 revert "x86, serial: convert legacy COM ports to platform devices" 2007-07-31 15:39:38 -07:00
asm-ia64 remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-m32r remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-m68k more include order horrors 2007-07-28 19:42:21 -07:00
asm-m68knommu remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2007-07-31 20:41:53 -07:00
asm-parisc remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-powerpc Fix WARN_ON() on bitfield ops 2007-07-31 21:12:07 -07:00
asm-ppc [WATCHDOG] mv64x60_wdt: Add arch/powerpc platform support 2007-07-24 21:16:02 +00:00
asm-s390 [S390] Wire up sys_fallocate. 2007-07-27 12:29:19 +02:00
asm-sh remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-sh64 sh64: Kill off virt_to_bus()/bus_to_virt(). 2007-07-31 13:11:25 +09:00
asm-sparc [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
asm-sparc64 [SPARC64]: Add missing dma_get_cache_alignment(). 2007-07-31 01:28:33 -07:00
asm-um arch: personality independent stack top 2007-07-19 10:04:45 -07:00
asm-v850 remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
asm-x86_64 revert "x86, serial: convert legacy COM ports to platform devices" 2007-07-31 15:39:38 -07:00
asm-xtensa remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
crypto
keys
linux Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2007-07-31 20:43:52 -07:00
math-emu
media V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) 2007-07-18 14:24:44 -03:00
mtd UBI: kill homegrown endian macros 2007-07-18 16:53:49 +03:00
net [AF_UNIX]: Make code static. 2007-07-31 02:28:27 -07:00
pcmcia
rdma IB/cm: Include HCA ACK delay in local ACK timeout 2007-07-10 21:50:05 -07:00
rxrpc
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-07-29 17:22:03 -07:00
sound [ALSA] version 1.0.14 2007-07-20 11:13:35 +02:00
video remove tx3912fb 2007-07-31 15:39:41 -07:00
xen xen: xen/page.h compile fix 2007-07-26 11:35:16 -07:00
Kbuild