[PATCH v5 0/6] compat: remove compat_alloc_user_space

Arnd Bergmann arnd at kernel.org
Wed Jul 28 00:48:53 AEST 2021


From: Arnd Bergmann <arnd at arndb.de>

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@kernel.org/

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@kernel.org/

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@infradead.org/

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 at arm.com>
Cc: Will Deacon <will at kernel.org>
Cc: Thomas Bogendoerfer <tsbogend at alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley at HansenPartnership.com>
Cc: Helge Deller <deller at gmx.de>
Cc: Michael Ellerman <mpe at ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Cc: Paul Mackerras <paulus at samba.org>
Cc: Heiko Carstens <hca at linux.ibm.com>
Cc: Vasily Gorbik <gor at linux.ibm.com>
Cc: Christian Borntraeger <borntraeger at de.ibm.com>
Cc: "David S. Miller" <davem at davemloft.net>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Ingo Molnar <mingo at redhat.com>
Cc: Borislav Petkov <bp at alien8.de>
Cc: x86 at kernel.org
Cc: "H. Peter Anvin" <hpa at zytor.com>
Cc: Al Viro <viro at zeniv.linux.org.uk>
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: "Eric W. Biederman" <ebiederm at xmission.com>
Cc: Christoph Hellwig <hch at infradead.org>
Cc: Feng Tang <feng.tang at intel.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Cc: linux-mips at vger.kernel.org
Cc: linux-parisc at vger.kernel.org
Cc: linuxppc-dev at lists.ozlabs.org
Cc: linux-s390 at vger.kernel.org
Cc: sparclinux at vger.kernel.org
Cc: linux-arch at vger.kernel.org
Cc: linux-api at vger.kernel.org
Cc: linux-mm at kvack.org


More information about the Linuxppc-dev mailing list