From: Arnd Bergmann <arnd@xxxxxxxx> Going through compat_alloc_user_space() to convert indirect system call arguments tends to add complexity compared to handling the native and compat logic in the same code. Out of the other remaining callers, the linux-media series went into v5.14, and the network ioctl handling is now fixed in net-next, so these are the last remaining users, and I now include the final patch to remove the definitions as well. Since these patches are now all that remains, it would be nice to merge it all through Andrew's Linux-mm tree, which is already based on top of linux-next. Arnd --- Changes in v4: - Rebase on top of net-next - Split up and improve the kexec patch based on Christoph's suggestions - Include final patch to remove compat_alloc_user_space - Cc compat architecture maintainers Link: https://lore.kernel.org/lkml/20210720150950.3669610-1-arnd@xxxxxxxxxx/ Changes in v3: - fix whitespace as pointed out by Christoph Hellwig - minor build fixes - rebase to v5.13-rc1 Link: https://lore.kernel.org/lkml/20210517203343.3941777-1-arnd@xxxxxxxxxx/ Changes in v2: - address review comments from Christoph Hellwig - split syscall removal into a separate patch - replace __X32_COND_SYSCALL() with individual macros for x32 Link: https://lore.kernel.org/lkml/20201208150614.GA15765@xxxxxxxxxxxxx/ Arnd Bergmann (6): kexec: move locking into do_kexec_load kexec: avoid compat_alloc_user_space mm: simplify compat_sys_move_pages mm: simplify compat numa syscalls compat: remove some compat entry points arch: remove compat_alloc_user_space arch/arm64/include/asm/compat.h | 5 - arch/arm64/include/asm/uaccess.h | 11 -- arch/arm64/include/asm/unistd32.h | 10 +- arch/arm64/lib/Makefile | 2 +- arch/arm64/lib/copy_in_user.S | 77 --------- arch/mips/cavium-octeon/octeon-memcpy.S | 2 - arch/mips/include/asm/compat.h | 8 - arch/mips/include/asm/uaccess.h | 26 --- arch/mips/kernel/syscalls/syscall_n32.tbl | 10 +- arch/mips/kernel/syscalls/syscall_o32.tbl | 10 +- arch/mips/lib/memcpy.S | 11 -- arch/parisc/include/asm/compat.h | 6 - arch/parisc/include/asm/uaccess.h | 2 - arch/parisc/kernel/syscalls/syscall.tbl | 8 +- arch/parisc/lib/memcpy.c | 9 - arch/powerpc/include/asm/compat.h | 16 -- arch/powerpc/kernel/syscalls/syscall.tbl | 10 +- arch/s390/include/asm/compat.h | 10 -- arch/s390/include/asm/uaccess.h | 3 - arch/s390/kernel/syscalls/syscall.tbl | 10 +- arch/s390/lib/uaccess.c | 63 ------- arch/sparc/include/asm/compat.h | 19 --- arch/sparc/kernel/process_64.c | 2 +- arch/sparc/kernel/signal32.c | 12 +- arch/sparc/kernel/signal_64.c | 8 +- arch/sparc/kernel/syscalls/syscall.tbl | 10 +- arch/x86/entry/syscalls/syscall_32.tbl | 4 +- arch/x86/entry/syscalls/syscall_64.tbl | 2 +- arch/x86/include/asm/compat.h | 13 -- arch/x86/include/asm/uaccess_64.h | 7 - include/linux/compat.h | 39 +---- include/linux/uaccess.h | 10 -- include/uapi/asm-generic/unistd.h | 10 +- kernel/compat.c | 21 --- kernel/kexec.c | 103 +++++------- kernel/sys_ni.c | 5 - mm/mempolicy.c | 196 +++++----------------- mm/migrate.c | 50 +++--- 38 files changed, 175 insertions(+), 645 deletions(-) delete mode 100644 arch/arm64/lib/copy_in_user.S -- 2.29.2 Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Heiko Carstens <hca@xxxxxxxxxxxxx> Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: x86@xxxxxxxxxx Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Feng Tang <feng.tang@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx