[PATCH v4 0/9] ARM: remove set_fs callers and implementation

From: Arnd Bergmann
Date: Fri Oct 30 2020 - 11:45:51 EST


From: Arnd Bergmann <arnd@xxxxxxxx>

Hi Christoph, Russell,

This is the rebased version of my ARM set_fs patches on top of
v5.10-rc1, dropping the TASK_SIZE_MAX patch but leaving everything
else unchanged.

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.

I also tested the syscall_get_nr() in all combinations of OABI/EABI
kernel user space and fixed the bugs I found after Russell pointed
out one of those issues.

Russell, you can pull these from

https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git arm-setfs_v4

or I can add them to the ARM patch tracker if you prefer.

Arnd


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 | 16 ++-
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 | 17 +--
arch/arm/kernel/process.c | 7 +-
arch/arm/kernel/ptrace.c | 9 +-
arch/arm/kernel/signal.c | 8 --
arch/arm/kernel/sys_oabi-compat.c | 181 ++++++++++++++++-------------
arch/arm/kernel/traps.c | 47 +++-----
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 | 18 +++
include/linux/syscalls.h | 3 +
ipc/sem.c | 84 ++++++++-----
mm/maccess.c | 28 ++++-
21 files changed, 332 insertions(+), 283 deletions(-)

Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-arch@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
--
2.27.0