mbox series

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

Message ID 20201001141233.119343-1-arnd@arndb.de (mailing list archive)
Headers show
Series ARM: remove set_fs callers and implementation | expand

Message

Arnd Bergmann Oct. 1, 2020, 2:12 p.m. UTC
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(-)