linux/arch/arm64/include/uapi/asm
James Morse 338d4f49d6 arm64: kernel: Add support for Privileged Access Never
'Privileged Access Never' is a new arm8.1 feature which prevents
privileged code from accessing any virtual address where read or write
access is also permitted at EL0.

This patch enables the PAN feature on all CPUs, and modifies {get,put}_user
helpers temporarily to permit access.

This will catch kernel bugs where user memory is accessed directly.
'Unprivileged loads and stores' using ldtrb et al are unaffected by PAN.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
[will: use ALTERNATIVE in asm and tidy up pan_enable check]
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-07-27 11:08:41 +01:00
..
Kbuild arm64: uapi: expose our struct ucontext to the uapi headers 2015-01-23 18:07:49 +00:00
auxvec.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
bitsperlong.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
byteorder.h arm64: big-endian: fix byteorder include 2013-10-25 15:59:32 +01:00
fcntl.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
hwcap.h arm64: Add hwcaps for crypto and CRC32 extensions. 2013-12-19 17:44:08 +00:00
kvm.h KVM: arm/arm64: check IRQ number on userland injection 2015-04-22 15:42:24 +01:00
param.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
perf_regs.h ARM64: perf: add support for perf registers API 2014-03-13 11:22:37 +00:00
posix_types.h arm64: uid16: fix __kernel_old_{gid,uid}_t definitions 2014-06-18 12:41:09 +01:00
ptrace.h arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
setup.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
sigcontext.h arm64: fix build error in sigcontext.h 2014-06-18 12:41:56 +01:00
siginfo.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
signal.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
stat.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
statfs.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
ucontext.h arm64: uapi: expose our struct ucontext to the uapi headers 2015-01-23 18:07:49 +00:00
unistd.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00