mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
57f4959bad
'User Access Override' is a new ARMv8.2 feature which allows the unprivileged load and store instructions to be overridden to behave in the normal way. This patch converts {get,put}_user() and friends to use ldtr*/sttr* instructions - so that they can only access EL0 memory, then enables UAO when fs==KERNEL_DS so that these functions can access kernel memory. This allows user space's read/write permissions to be checked against the page tables, instead of testing addr<USER_DS, then using the kernel's read/write permissions. Signed-off-by: James Morse <james.morse@arm.com> [catalin.marinas@arm.com: move uao_thread_switch() above dsb()] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> |
||
---|---|---|
.. | ||
auxvec.h | ||
bitsperlong.h | ||
byteorder.h | ||
fcntl.h | ||
hwcap.h | ||
Kbuild | ||
kvm.h | ||
param.h | ||
perf_regs.h | ||
posix_types.h | ||
ptrace.h | ||
setup.h | ||
sigcontext.h | ||
siginfo.h | ||
signal.h | ||
stat.h | ||
statfs.h | ||
ucontext.h | ||
unistd.h |