The system call tables have diverged a bit over the years, and a number of the recent additions never made it into all architectures, for one reason or another.
This is an attempt to clean it up as far as we can without breaking compatibility, doing a number of steps:
- Add system calls that have not yet been integrated into all architectures but that we definitely want there.
- Add the separate ipc syscalls on all architectures that traditionally only had sys_ipc(). This version is done without support for IPC_OLD that is we have in sys_ipc. The new semtimedop_time64 syscall will only be added here, not in sys_ipc
- Add syscall numbers for a couple of syscalls that we probably don't need everywhere, in particular pkey_* and rseq, for the purpose of symmetry: if it's in asm-generic/unistd.h, it makes sense to have it everywhere.
- Prepare for having the same system call numbers for any future calls. In combination with the generated tables, this hopefully makes it easier to add new calls across all architectures together.
Most of the contents of this series are unrelated to the actual y2038 work, but for the moment, that second series is based on this one. If there are any concerns about changes here, I can drop or rewrite any individual patch in this series.
My plan is to merge any patches in this series that are found to be good together with the y2038 patches for linux-5.1, so please review and provide Acks for merging through my tree, or pick them up for 5.0 if they seem urgent enough.
Arnd
Arnd Bergmann (15): ia64: add __NR_umount2 definition ia64: add statx and io_pgetevents syscalls ia64: assign syscall numbers for perf and seccomp alpha: wire up io_pgetevents system call alpha: update syscall macro definitions ARM: add migrate_pages() system call ARM: add kexec_file_load system call number m68k: assign syscall number for seccomp sh: remove duplicate unistd_32.h file sh: add statx system call mips: fix n32 compat_ipc_parse_version sparc64: fix sparc_ipc type conversion ipc: rename old-style shmctl/semctl/msgctl syscalls arch: add split IPC system calls where needed arch: add pkey and rseq syscall numbers everywhere
arch/alpha/include/asm/unistd.h | 10 - arch/alpha/include/uapi/asm/unistd.h | 5 + arch/alpha/kernel/syscalls/syscall.tbl | 15 +- arch/arm/include/asm/unistd.h | 1 - arch/arm/tools/syscall.tbl | 8 +- arch/arm64/include/asm/unistd.h | 2 +- arch/arm64/include/asm/unistd32.h | 10 +- arch/ia64/include/asm/unistd.h | 14 - arch/ia64/include/uapi/asm/unistd.h | 2 + arch/ia64/kernel/syscalls/syscall.tbl | 10 +- arch/m68k/kernel/syscalls/syscall.tbl | 16 + arch/microblaze/kernel/syscalls/syscall.tbl | 6 +- arch/mips/Kconfig | 1 + arch/mips/kernel/syscalls/syscall_n32.tbl | 6 +- arch/mips/kernel/syscalls/syscall_n64.tbl | 6 +- arch/mips/kernel/syscalls/syscall_o32.tbl | 11 + arch/parisc/include/asm/unistd.h | 3 - arch/parisc/kernel/syscalls/syscall.tbl | 4 + arch/powerpc/kernel/syscalls/syscall.tbl | 12 + arch/s390/include/asm/unistd.h | 3 - arch/s390/kernel/syscalls/syscall.tbl | 15 + arch/sh/include/uapi/asm/unistd_32.h | 403 -------------------- arch/sh/kernel/syscalls/syscall.tbl | 16 + arch/sparc/include/asm/unistd.h | 5 - arch/sparc/kernel/sys_sparc_64.c | 2 +- arch/sparc/kernel/syscalls/syscall.tbl | 16 + arch/x86/entry/syscalls/syscall_32.tbl | 11 + arch/xtensa/kernel/syscalls/syscall.tbl | 7 +- include/linux/syscalls.h | 3 + ipc/msg.c | 39 +- ipc/sem.c | 39 +- ipc/shm.c | 40 +- ipc/syscall.c | 12 +- ipc/util.h | 21 +- kernel/sys_ni.c | 3 + 35 files changed, 271 insertions(+), 506 deletions(-) delete mode 100644 arch/sh/include/uapi/asm/unistd_32.h