lkml.org 
[lkml]   [2021]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v5 00/10] ARM: remove set_fs callers and implementation
    Date
    From: Arnd Bergmann <arnd@arndb.de>

    Hi Christoph, Russell,

    This is the rebased version of my ARM set_fs patches on top of
    v5.14-rc2. There were a couple of minor conflicts that I resolved,
    but otherwise this is still identical to the version I tested earlier.

    The one notable change this time is that I rename thread_info->syscall
    to thread_info->abi_syscall, to clarify that this field now contains
    both the ABI bits (0x900000 for OABI, 0x000000 for EABI) in kernels
    that support both, and every access to this has to mask out the bits
    it needs. As Russell mentioned before, having a 'syscall' field that
    not just contains the syscall number is confusing and error-prone, so
    I hope this change is good enough.

    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
    those issues in the early versions.

    Linus Walleij did additional testing of v4 on Footbridge with OABI
    user space.

    With this and the m68k changes getting merged, we are very close
    to eliminating set_fs completely.

    Russell, you can pull these from

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

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

    Arnd

    v4: https://lore.kernel.org/linux-arm-kernel/20201030154519.1245983-1-arnd@kernel.org/
    v3: https://lore.kernel.org/linux-arm-kernel/20201001141233.119343-1-arnd@arndb.de/
    v2: https://lore.kernel.org/linux-arm-kernel/20200918124624.1469673-1-arnd@arndb.de/
    v1: https://lore.kernel.org/linux-arm-kernel/20200907153701.2981205-1-arnd@arndb.de/

    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->abi_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
    ARM: oabi-compat: fix oabi epoll sparse warning

    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 | 6 +-
    arch/arm/include/asm/uaccess-asm.h | 6 -
    arch/arm/include/asm/uaccess.h | 169 ++++++++++++-----------
    arch/arm/include/uapi/asm/unistd.h | 1 +
    arch/arm/kernel/asm-offsets.c | 3 +-
    arch/arm/kernel/entry-common.S | 20 +--
    arch/arm/kernel/process.c | 7 +-
    arch/arm/kernel/ptrace.c | 14 +-
    arch/arm/kernel/signal.c | 8 --
    arch/arm/kernel/sys_oabi-compat.c | 214 +++++++++++++++++------------
    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, 361 insertions(+), 298 deletions(-)

    Cc: linux-kernel@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-arch@vger.kernel.org
    Cc: linux-mm@kvack.org
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Arnd Bergmann <arnd@arndb.de>

    --
    2.29.2

    \
     
     \ /
      Last update: 2021-07-26 16:12    [W:5.081 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site