]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
csky, hexagon: fix broken sys_sync_file_range
authorArnd Bergmann <arnd@arndb.de>
Fri, 14 Jun 2024 07:54:20 +0000 (09:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jul 2024 07:34:02 +0000 (09:34 +0200)
commit32dffe1365c3683870fa97d9e8c65aba44206dd2
treeb6e15196274c2252dcc99662d72cf064c6f60bef
parenta0bfefcb61a75a4948e79dc0164ee55c0689939e
csky, hexagon: fix broken sys_sync_file_range

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@vger.kernel.org
Acked-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/csky/include/uapi/asm/unistd.h
arch/hexagon/include/uapi/asm/unistd.h