RE: [PATCH v2 09/13] csky, hexagon: fix broken sys_sync_file_range

Brian Cain <[email protected]>
Newsgroups gmane.linux.lib.musl.general,gmane.linux.kernel.cross-arch,gmane.linux.kernel,gmane.linux.ports.mips,gmane.linux.ports.parisc,gmane.linux.ports.sparc,gmane.linux.ports.ppc64.devel,gmane.linux.ports.hexagon,gmane.linux.ports.sh.devel,gmane.linux.file-systems,gmane.comp.lib.glibc.alpha,gmane.linux.kernel.stable
Message-ID <CH3PR02MB10247E03891A370B0721648E1B8812@CH3PR02MB10247.namprd02.prod.outlook.com>

> -----Original Message-----
> From: Arnd Bergmann <[email protected]>
> Sent: Monday, June 24, 2024 11:37 AM
> To: [email protected]; [email protected]
> Cc: Arnd Bergmann <[email protected]>; Thomas Bogendoerfer
> <[email protected]>; [email protected]; Helge Deller
> <[email protected]>; [email protected]; David S. Miller
> <[email protected]>; Andreas Larsson <[email protected]>;
> [email protected]; Michael Ellerman <[email protected]>; Nicholas
> Piggin <[email protected]>; Christophe Leroy
> <[email protected]>; Naveen N . Rao
> <[email protected]>; [email protected]; Brian Cain
> <[email protected]>; [email protected]; Guo Ren
> <[email protected]>; [email protected]; Heiko Carstens
> <[email protected]>; [email protected]; Rich Felker
> <[email protected]>; John Paul Adrian Glaubitz <[email protected]>;
> [email protected]; H. Peter Anvin <[email protected]>; Alexander Viro
> <[email protected]>; Christian Brauner <[email protected]>; linux-
> [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: [PATCH v2 09/13] csky, hexagon: fix broken sys_sync_file_range
> 
> WARNING: This email originated from outside of Qualcomm. Please be wary of
> any links or attachments, and do not enable macros.
> 
> From: Arnd Bergmann <[email protected]>
> 
> 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: [email protected]
> Acked-by: Guo Ren <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>  arch/csky/include/uapi/asm/unistd.h    | 1 +
>  arch/hexagon/include/uapi/asm/unistd.h | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/arch/csky/include/uapi/asm/unistd.h
> b/arch/csky/include/uapi/asm/unistd.h
> index 7ff6a2466af1..e0594b6370a6 100644
> --- 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)
> diff --git a/arch/hexagon/include/uapi/asm/unistd.h
> b/arch/hexagon/include/uapi/asm/unistd.h
> index 432c4db1b623..21ae22306b5d 100644
> --- 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

Acked-by: Brian Cain <[email protected]>

> 
>  #include <asm-generic/unistd.h>
> --
> 2.39.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.