[PATCH 0/9] ARM: remove set_fs callers and implementation
Arnd Bergmann
arnd at arndb.de
Mon Sep 7 11:36:41 EDT 2020
Hi Christoph, Russell,
As promised, here is my series to remove set_fs() from arch/arm based
on the architecture-independent patches.
I have tested the oabi-compat changes using the LTP tests for the three
modified syscalls using an Armv7 kernel and a Debian 5 OABI user space,
and I have lightly tested the get_kernel_nofault infrastructure by
loading the test_lockup.ko module after setting CONFIG_DEBUG_SPINLOCK.
Let me know if there is a more thorough test I should try.
Overall there is a bit of ugliness getting introduced in the oabi compat
code and for adding another code path for TUSER(). If anyone has a better
idea, I can try out a different way.
I assume these patches can go through Al's tree along with the
corresponding changes for other architectures, once Russell is happy
with them.
Please review.
Arnd
[1] https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/log/?h=arm-kill-set_fs
Arnd Bergmann (9):
mm/maccess: fix unaligned copy_{from,to}_kernel_nofault
ARM: traps: use get_kernel_nofault instead of set_fs()
ARM: oabi-compat: add epoll_pwait handler
ARM: syscall: always store thread_info->syscall
ARM: oabi-compat: rework epoll_wait/epoll_pwait emulation
ARM: oabi-compat: rework sys_semtimedop emulation
ARM: oabi-compat: rework fcntl64() emulation
ARM: uaccess: add __{get,put}_kernel_nofault
ARM: uaccess: remove set_fs() implementation
arch/arm/Kconfig | 1 -
arch/arm/include/asm/ptrace.h | 1 -
arch/arm/include/asm/syscall.h | 14 +++
arch/arm/include/asm/thread_info.h | 4 -
arch/arm/include/asm/uaccess-asm.h | 6 -
arch/arm/include/asm/uaccess.h | 169 ++++++++++++++-------------
arch/arm/kernel/asm-offsets.c | 3 +-
arch/arm/kernel/entry-common.S | 16 +--
arch/arm/kernel/process.c | 7 +-
arch/arm/kernel/ptrace.c | 4 +-
arch/arm/kernel/signal.c | 8 --
arch/arm/kernel/sys_oabi-compat.c | 180 ++++++++++++++++-------------
arch/arm/kernel/traps.c | 69 +++++------
arch/arm/lib/copy_from_user.S | 3 +-
arch/arm/lib/copy_to_user.S | 3 +-
arch/arm/tools/syscall.tbl | 2 +-
fs/eventpoll.c | 5 +-
include/linux/eventpoll.h | 16 +++
include/linux/syscalls.h | 2 +
ipc/sem.c | 84 +++++++++-----
mm/maccess.c | 28 ++++-
21 files changed, 338 insertions(+), 287 deletions(-)
--
2.27.0
More information about the linux-arm-kernel
mailing list