asm-generic: compat: fix compat_arg_u64() and compat_arg_u64_dual()
authorAndreas Schwab <schwab@linux-m68k.org>
Mon, 31 Oct 2022 13:23:13 +0000 (14:23 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 31 Oct 2022 23:20:11 +0000 (10:20 +1100)
The macros are defined backwards.

This affects the following compat syscalls:
 - compat_sys_truncate64()
 - compat_sys_ftruncate64()
 - compat_sys_fallocate()
 - compat_sys_sync_file_range()
 - compat_sys_fadvise64_64()
 - compat_sys_readahead()
 - compat_sys_pread64()
 - compat_sys_pwrite64()

Fixes: 43d5de2b67d7 ("asm-generic: compat: Support BE for long long args in 32-bit ABIs")
Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
[mpe: Add list of affected syscalls]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/871qqoyvni.fsf_-_@igel.home
include/asm-generic/compat.h

index aeb257a..8392cae 100644 (file)
@@ -15,7 +15,7 @@
 #endif
 
 #ifndef compat_arg_u64
-#ifdef CONFIG_CPU_BIG_ENDIAN
+#ifndef CONFIG_CPU_BIG_ENDIAN
 #define compat_arg_u64(name)           u32  name##_lo, u32  name##_hi
 #define compat_arg_u64_dual(name)      u32, name##_lo, u32, name##_hi
 #else