Revision ca044f9a9ed492f0f7e52df999c10ca6f7cfc5c0 authored by David Howells on 13 March 2013, 21:59:47 UTC, committed by Linus Torvalds on 13 March 2013, 22:21:49 UTC
In the UAPI header files, __BIG_ENDIAN and __LITTLE_ENDIAN must be compared against __BYTE_ORDER in preprocessor conditionals where these are exposed to userspace (that is they're not inside __KERNEL__ conditionals). However, in the main kernel the norm is to check for "defined(__XXX_ENDIAN)" rather than comparing against __BYTE_ORDER and this has incorrectly leaked into the userspace headers. The definition of struct mdp_superblock_s in linux/raid/md_p.h is wrong in this way. Note that userspace will likely interpret the ordering of the fields incorrectly as the big-endian variant on a little-endian machines - depending on header inclusion order. [!!!] NOTE [!!!] This patch may adversely change the userspace API. It might be better to fix the ordering of events_hi, events_lo, cp_events_hi and cp_events_lo in struct mdp_superblock_s / typedef mdp_super_t. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: NeilBrown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 29ba06b
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 55.7 KB |
Makefile | -rw-r--r-- | 1.1 KB |
calibrate.c | -rw-r--r-- | 8.3 KB |
do_mounts.c | -rw-r--r-- | 13.3 KB |
do_mounts.h | -rw-r--r-- | 1.4 KB |
do_mounts_initrd.c | -rw-r--r-- | 3.3 KB |
do_mounts_md.c | -rw-r--r-- | 8.2 KB |
do_mounts_rd.c | -rw-r--r-- | 8.4 KB |
init_task.c | -rw-r--r-- | 728 bytes |
initramfs.c | -rw-r--r-- | 13.0 KB |
main.c | -rw-r--r-- | 22.1 KB |
noinitramfs.c | -rw-r--r-- | 1.5 KB |
version.c | -rw-r--r-- | 1.2 KB |
Computing file changes ...