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