[PATCH 00/13] arm64: remove set_fs() and friends
Mark Rutland
mark.rutland at arm.com
Fri Sep 25 12:07:09 EDT 2020
This series removes set_fs() from arm64, building atop the core rework
done by Christophe. The series can be found in my arm64/set_fs-removal
branch [2].
The bulk of the rework is to address the way we manipulate PAN and UAO,
which is largely rendered redundant.
The kernel maccess routines (__{get,put}_kernel_nofault) are trivial
wrappers which share code with the uaccess routines, so I expect these
should just work, but they'll need testing in-context, especially where
they're wrapped by the gerneric copy routines.
So far this has seen some very basic boot testing. I intend to throw
Syzkaller and LTP at this soon.
Mark.
[1] git://git.infradead.org/users/hch/misc.git set_fs-removal
[2] git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/set_fs-removal
Mark Rutland (13):
arm64: head.S: rename el2_setup -> init_kernel_el
arm64: head.S: cleanup SCTLR_ELx initialization
arm64: head.S: always initialize PSTATE
arm64: sdei: move uaccess logic to arch/arm64/
arm64: uaccess: move uao_* alternatives to asm-uaccess.h
arm64: uaccess: rename privileged uaccess routines
arm64: uaccess: simplify __copy_user_flushcache()
arm64: uaccess: refactor __{get,put}_user
arm64: uaccess: split user/kernel routines
arm64: uaccess cleanup macro naming
arm64: uaccess: remove set_fs()
arm64: uaccess: remove addr_limit_user_check()
arm64: uaccess: remove redundant PAN toggling
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/alternative.h | 59 ------------
arch/arm64/include/asm/asm-uaccess.h | 29 ++++++
arch/arm64/include/asm/cpucaps.h | 1 -
arch/arm64/include/asm/exec.h | 1 -
arch/arm64/include/asm/futex.h | 8 +-
arch/arm64/include/asm/processor.h | 4 +-
arch/arm64/include/asm/ptrace.h | 8 +-
arch/arm64/include/asm/sysreg.h | 16 +++-
arch/arm64/include/asm/thread_info.h | 8 +-
arch/arm64/include/asm/uaccess.h | 180 ++++++++++++++---------------------
arch/arm64/kernel/armv8_deprecated.c | 4 +-
arch/arm64/kernel/asm-offsets.c | 3 +-
arch/arm64/kernel/cpufeature.c | 11 ---
arch/arm64/kernel/entry.S | 19 +---
arch/arm64/kernel/head.S | 46 +++++----
arch/arm64/kernel/process.c | 12 ---
arch/arm64/kernel/sdei.c | 12 +--
arch/arm64/kernel/signal.c | 3 -
arch/arm64/kernel/sleep.S | 2 +-
arch/arm64/kernel/suspend.c | 3 +-
arch/arm64/lib/clear_user.S | 8 +-
arch/arm64/lib/copy_from_user.S | 8 +-
arch/arm64/lib/copy_in_user.S | 16 ++--
arch/arm64/lib/copy_to_user.S | 8 +-
arch/arm64/lib/uaccess_flushcache.c | 4 +-
arch/arm64/mm/fault.c | 5 -
arch/arm64/mm/proc.S | 2 +-
drivers/firmware/arm_sdei.c | 14 ---
29 files changed, 189 insertions(+), 306 deletions(-)
--
2.11.0
More information about the linux-arm-kernel
mailing list