linux/include
Lennert Buytenhek 94a3f78566 [ARM] 4837/1: make __get_unaligned_*() return unsigned types
Eric Sandeen tracked an XFS on ARM corruption bug down to a function
under fs/xfs/ involving some get_unaligned() calls on u64 pointers.
As it turns out, calling ARM's get_unaligned() on a u64 pointer
pointing to the following byte sequence:

	80 81 82 83 84 85 86 87

would return ffffffff83828180 (LE mode.)  This turns out to be
because of implicit u8 -> int promotion in ARM's implementation of
various helpers for get_unaligned(), causing them to accidentally
return signed instead of unsigned values, which in turn caused the
subsequent casts to unsigned long long in __get_unaligned_8_[bl]e()
to sign-extend the lower words.

Fix by casting the return values of __get_unaligned_[24]_[bl]e()
to unsigned int.

Cc: Eric Sandeen <sandeen@sandeen.net>
Cc: Rabeeh Khoury <rabeeh@marvell.com>
Cc: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-02-29 22:46:48 +00:00
..
acpi ACPI, cpuidle: Clarify C-state description in sysfs 2008-02-14 00:09:55 -05:00
asm-alpha CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
asm-arm [ARM] 4837/1: make __get_unaligned_*() return unsigned types 2008-02-29 22:46:48 +00:00
asm-avr32 CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
asm-blackfin Add pgtable_t to remaining nommu architectures 2008-02-09 11:08:33 -08:00
asm-cris Merge branch 'cris' of git://www.jni.nu/cris 2008-02-08 10:01:28 -08:00
asm-frv FRV: Change the timerfd syscalls to be the same as i386 2008-02-20 19:58:16 -08:00
asm-generic percpu: fix DEBUG_PREEMPT per_cpu checking 2008-02-23 12:09:28 -08:00
asm-h8300 h8300: IRQ handling update 2008-02-23 17:12:16 -08:00
asm-ia64 [IA64] Fix build for sim_defconfig 2008-02-11 13:23:46 -08:00
asm-m32r CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
asm-m68k CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
asm-m68knommu m68knommu: use tabs not spaces in cacheflush.h 2008-02-14 20:58:05 -08:00
asm-mips [MIPS] RM: fix EISA=n compilation 2008-02-19 17:01:34 +00:00
asm-mn10300 MN10300: define SO_MARK 2008-02-23 17:12:13 -08:00
asm-parisc CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
asm-powerpc percpu: fix DEBUG_PREEMPT per_cpu checking 2008-02-23 12:09:28 -08:00
asm-ppc [POWERPC] Fix arch/ppc compilation - add typedef for pgtable_t 2008-02-14 22:11:02 +11:00
asm-s390 [S390] find bit corner case. 2008-02-19 15:29:33 +01:00
asm-sh sh: fix ioreadN_rep and iowriteN_rep 2008-02-14 14:25:37 +09:00
asm-sparc [SPARC]: Merge asm-sparc{,64}/a.out.h 2008-02-09 22:25:50 -08:00
asm-sparc64 [SPARC64]: More sparse warning fixes in process.c 2008-02-19 21:25:50 -08:00
asm-um uml: x86_64 should copy %fs during fork 2008-02-08 09:22:43 -08:00
asm-v850 Add pgtable_t to remaining nommu architectures 2008-02-09 11:08:33 -08:00
asm-x86 Remove empty file remnants that were left in the tree by mistake 2008-02-20 19:56:01 -08:00
asm-xtensa [XTENSA] Allow debugger to modify the WINDOWBASE register. 2008-02-13 17:45:36 -08:00
crypto
keys
linux Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2008-02-23 21:40:32 -08:00
math-emu
media V4L/DVB (7192): Adds support for Genius TVGo A11MCE 2008-02-18 11:15:19 -03:00
mtd Merge git://git.infradead.org/~dedekind/ubi-2.6 2008-02-03 22:07:40 +11:00
net [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly. 2008-02-23 20:19:20 -08:00
pcmcia pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
rdma IB/core: Remove unused struct ib_device.flags member 2008-02-08 14:47:26 -08:00
rxrpc
scsi [SCSI] update SG_ALL to avoid causing chaining 2008-02-11 13:40:13 -06:00
sound [ALSA] opl3 - Fix compilation without sequencer support 2008-02-22 14:20:08 -08:00
video atmel_lcdfb: backlight control 2008-02-06 10:41:16 -08:00
xen
Kbuild