On Wed Aug 24, 2022 at 12:05 PM AEST, Rohan McLure wrote: > The powerpc fallocate compat syscall handler is identical to the > generic implementation provided by commit 59c10c52f573f ("riscv: > compat: syscall: Add compat_sys_call_table implementation"), and as > such can be removed in favour of the generic implementation. > > A future patch series will replace more architecture-defined syscall > handlers with generic implementations, dependent on introducing generic > implementations that are compatible with powerpc and arm's parameter > reorderings. > > Reported-by: Arnd Bergmann <a...@arndb.de> > Signed-off-by: Rohan McLure <rmcl...@linux.ibm.com> > --- > V1 -> V2: Remove arch-specific fallocate handler. > V2 -> V3: Remove generic fallocate prototype. Move to beginning of > series. > --- > arch/powerpc/include/asm/compat.h | 5 +++++ > arch/powerpc/include/asm/syscalls.h | 2 -- > arch/powerpc/include/asm/unistd.h | 1 + > 3 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/include/asm/compat.h > b/arch/powerpc/include/asm/compat.h > index dda4091fd012..f20caae3f019 100644 > --- a/arch/powerpc/include/asm/compat.h > +++ b/arch/powerpc/include/asm/compat.h > @@ -16,6 +16,11 @@ typedef u16 compat_ipc_pid_t; > #include <asm-generic/compat.h> > > #ifdef __BIG_ENDIAN__ > +#define compat_arg_u64(name) u32 name##_hi, u32 name##_lo > +#define compat_arg_u64_dual(name) u32, name##_hi, u32, name##_lo > +#define compat_arg_u64_glue(name) (((u64)name##_lo & 0xffffffffUL) | \ > + ((u64)name##_hi << 32))
Is there a reason not to put this in asm-generic/compat.h? Possibly you want to put this with the other compat definitions and above the asm-generic include. The generic header expects the arch to include it after defining what it wants to override. Not sure why x_lo gets cast from u32 to u64 and masked before the | there, but generic code does the same so this isn't the place to change it. Thanks, Nick > + > #define COMPAT_UTS_MACHINE "ppc\0\0" > #else > #define COMPAT_UTS_MACHINE "ppcle\0\0" > diff --git a/arch/powerpc/include/asm/syscalls.h > b/arch/powerpc/include/asm/syscalls.h > index 21c2faaa2957..675a8f5ec3ca 100644 > --- a/arch/powerpc/include/asm/syscalls.h > +++ b/arch/powerpc/include/asm/syscalls.h > @@ -39,8 +39,6 @@ compat_ssize_t compat_sys_readahead(int fd, u32 r4, u32 > offset1, u32 offset2, u3 > int compat_sys_truncate64(const char __user *path, u32 reg4, > unsigned long len1, unsigned long len2); > > -long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2, u32 > len1, u32 len2); > - > int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long len1, > unsigned long len2); > > diff --git a/arch/powerpc/include/asm/unistd.h > b/arch/powerpc/include/asm/unistd.h > index b1129b4ef57d..659a996c75aa 100644 > --- a/arch/powerpc/include/asm/unistd.h > +++ b/arch/powerpc/include/asm/unistd.h > @@ -45,6 +45,7 @@ > #define __ARCH_WANT_SYS_UTIME > #define __ARCH_WANT_SYS_NEWFSTATAT > #define __ARCH_WANT_COMPAT_STAT > +#define __ARCH_WANT_COMPAT_FALLOCATE > #define __ARCH_WANT_COMPAT_SYS_SENDFILE > #endif > #define __ARCH_WANT_SYS_FORK > -- > 2.34.1