[PATCH v3 00/10] ARM: remove set_fs callers and implementation

From: Arnd Bergmann
Date: Thu Oct 01 2020 - 10:13:17 EST


Hi Christoph, Russell,

This is the updated version of my ARM set_fs patches, hopefully
I managed to address your previous concerns.

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.

The series is now based on
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/log/?h=base.set_fs
with no extra patches, after I included a patch to define a
private TASK_SIZE_MAX.

Russell, if you would still consider this seris for the next merge
window and there are no further review comments, you can pull it
from

https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git \
arm-kill-set_fs-7

At this point I'd probably just defer it another release and
rebase once -rc1 is out, dropping the TASK_SIZE_MAX patch.

Arnd


Arnd Bergmann (10):
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: provide a TASK_SIZE_MAX definition
ARM: uaccess: remove set_fs() implementation

arch/arm/Kconfig | 1 -
arch/arm/include/asm/memory.h | 2 +
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 ++++-
22 files changed, 334 insertions(+), 283 deletions(-)

--
2.27.0