From: Arnd Bergmann <arnd@xxxxxxxx> commit 3339b99ef6fe38dac43b534cba3a8a0e29fb2eff upstream. Both of these architectures require u64 function arguments to be passed in even/odd pairs of registers or stack slots, which in case of sync_file_range would result in a seven-argument system call that is not currently possible. The system call is therefore incompatible with all existing binaries. While it would be possible to implement support for seven arguments like on mips, it seems better to use a six-argument version, either with the normal argument order but misaligned as on most architectures or with the reordered sync_file_range2() calling conventions as on arm and powerpc. Cc: stable@xxxxxxxxxxxxxxx Acked-by: Guo Ren <guoren@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/csky/include/uapi/asm/unistd.h | 1 + arch/hexagon/include/uapi/asm/unistd.h | 1 + 2 files changed, 2 insertions(+) --- a/arch/csky/include/uapi/asm/unistd.h +++ b/arch/csky/include/uapi/asm/unistd.h @@ -6,6 +6,7 @@ #define __ARCH_WANT_SYS_CLONE3 #define __ARCH_WANT_SET_GET_RLIMIT #define __ARCH_WANT_TIME32_SYSCALLS +#define __ARCH_WANT_SYNC_FILE_RANGE2 #include <asm-generic/unistd.h> #define __NR_set_thread_area (__NR_arch_specific_syscall + 0) --- a/arch/hexagon/include/uapi/asm/unistd.h +++ b/arch/hexagon/include/uapi/asm/unistd.h @@ -36,5 +36,6 @@ #define __ARCH_WANT_SYS_VFORK #define __ARCH_WANT_SYS_FORK #define __ARCH_WANT_TIME32_SYSCALLS +#define __ARCH_WANT_SYNC_FILE_RANGE2 #include <asm-generic/unistd.h> Patches currently in stable-queue which might be from arnd@xxxxxxxx are queue-6.9/sparc-fix-old-compat_sys_select.patch queue-6.9/hexagon-fix-fadvise64_64-calling-conventions.patch queue-6.9/sparc-fix-compat-recv-recvfrom-syscalls.patch queue-6.9/parisc-use-correct-compat-recv-recvfrom-syscalls.patch queue-6.9/sh-rework-sync_file_range-abi.patch queue-6.9/parisc-use-generic-sys_fanotify_mark-implementation.patch queue-6.9/powerpc-restore-some-missing-spu-syscalls.patch queue-6.9/randomize_kstack-remove-non-functional-per-arch-entr.patch queue-6.9/csky-hexagon-fix-broken-sys_sync_file_range.patch