[PATCH v2 00/13] linux system call fixes
From: Arnd Bergmann
Date: Mon Jun 24 2024 - 12:37:27 EST
From: Arnd Bergmann <arnd@xxxxxxxx>
This is a minor update to v1 of this series. If there are no new
concerns, I would like to send this as a pull request for v6.10-rc6,
which is a little late, but these are all bug fixes. Changes since
v1 are:
- collect acks
- minor fixes to the changelog text
- drop mips patch that was already merged
- drop the time32 patch that caused build failures
- fix a kernel/sys_ni.c stub bug that was exposed by
the compat_sys_io_pgetevents_time64 change
Arnd
---
Original series description:
I'm working on cleanup series for Linux system call handling, trying to
unify some of the architecture specific code there among other things.
In the process, I came across a number of bugs that are ABI relevant,
so I'm trying to merge these first. I found all of these by inspection,
not by running the code, so any extra review would help. I assume some
of the issues were already caught by existing LTP tests, while for others
we could add a test. Again, I did not check what is already there.
The sync_file_range and fadvise64_64 changes on sh, csky and hexagon
are likely to also require changes in the libc implementation.
Once the patches are reviewed, I plan to merge my changes as bugfixes
through the asm-generic tree, but architecture maintainers can also
pick them up directly to speed up the bugfix.
Cc: linux-arch@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxxx
Cc: Helge Deller <deller@xxxxxx>
Cc: linux-parisc@xxxxxxxxxxxxxxx
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Andreas Larsson <andreas@xxxxxxxxxxx>
Cc: sparclinux@xxxxxxxxxxxxxxx
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Nicholas Piggin <npiggin@xxxxxxxxx>
Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Cc: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxx>
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Cc: Brian Cain <bcain@xxxxxxxxxxx>
Cc: linux-hexagon@xxxxxxxxxxxxxxx
Cc: Guo Ren <guoren@xxxxxxxxxx>
Cc: linux-csky@xxxxxxxxxxxxxxx
Cc: Heiko Carstens <hca@xxxxxxxxxxxxx>
Cc: linux-s390@xxxxxxxxxxxxxxx
Cc: Rich Felker <dalias@xxxxxxxx>
Cc: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
Cc: linux-sh@xxxxxxxxxxxxxxx
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Christian Brauner <brauner@xxxxxxxxxx>
Cc: linux-fsdevel@xxxxxxxxxxxxxxx
Cc: libc-alpha@xxxxxxxxxxxxxx
Cc: musl@xxxxxxxxxxxxxxxxxx
Arnd Bergmann (13):
ftruncate: pass a signed offset
syscalls: fix compat_sys_io_pgetevents_time64 usage
sparc: fix old compat_sys_select()
sparc: fix compat recv/recvfrom syscalls
parisc: use correct compat recv/recvfrom syscalls
parisc: use generic sys_fanotify_mark implementation
powerpc: restore some missing spu syscalls
sh: rework sync_file_range ABI
csky, hexagon: fix broken sys_sync_file_range
hexagon: fix fadvise64_64 calling conventions
s390: remove native mmap2() syscall
syscalls: mmap(): use unsigned offset type consistently
linux/syscalls.h: add missing __user annotations
arch/arm64/include/asm/unistd32.h | 2 +-
arch/csky/include/uapi/asm/unistd.h | 1 +
arch/csky/kernel/syscall.c | 2 +-
arch/hexagon/include/asm/syscalls.h | 6 +
arch/hexagon/include/uapi/asm/unistd.h | 1 +
arch/hexagon/kernel/syscalltab.c | 7 +
arch/loongarch/kernel/syscall.c | 2 +-
arch/microblaze/kernel/sys_microblaze.c | 2 +-
arch/mips/kernel/syscalls/syscall_n32.tbl | 2 +-
arch/mips/kernel/syscalls/syscall_o32.tbl | 2 +-
arch/parisc/Kconfig | 1 +
arch/parisc/kernel/sys_parisc32.c | 9 -
arch/parisc/kernel/syscalls/syscall.tbl | 6 +-
arch/powerpc/kernel/syscalls/syscall.tbl | 6 +-
arch/riscv/kernel/sys_riscv.c | 4 +-
arch/s390/kernel/syscall.c | 27 ---
arch/s390/kernel/syscalls/syscall.tbl | 2 +-
arch/sh/kernel/sys_sh32.c | 11 ++
arch/sh/kernel/syscalls/syscall.tbl | 3 +-
arch/sparc/kernel/sys32.S | 221 ----------------------
arch/sparc/kernel/syscalls/syscall.tbl | 8 +-
arch/x86/entry/syscalls/syscall_32.tbl | 2 +-
fs/open.c | 4 +-
include/asm-generic/syscalls.h | 2 +-
include/linux/compat.h | 2 +-
include/linux/syscalls.h | 20 +-
include/uapi/asm-generic/unistd.h | 2 +-
kernel/sys_ni.c | 2 +-
28 files changed, 67 insertions(+), 292 deletions(-)
create mode 100644 arch/hexagon/include/asm/syscalls.h
--
2.39.2