linux/arch/arm64/lib
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
..
Makefile arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
bitops.S arm64: atomics: fix use of acquire + release for full barrier semantics 2014-02-07 16:45:43 +00:00
clear_page.S arm64: Miscellaneous library functions 2012-09-17 13:42:18 +01:00
clear_user.S arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
copy_from_user.S arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
copy_in_user.S arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
copy_page.S arm64: Miscellaneous library functions 2012-09-17 13:42:18 +01:00
copy_to_user.S arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
delay.c arm64: Miscellaneous library functions 2012-09-17 13:42:18 +01:00
memchr.S arm64: klib: Optimised memory functions 2013-03-21 17:39:29 +00:00
memcmp.S arm64: lib: Implement optimized memcmp routine 2014-05-23 15:07:57 +01:00
memcpy.S arm64: lib: Implement optimized memcpy routine 2014-05-23 15:06:53 +01:00
memmove.S arm64: lib: Implement optimized memmove routine 2014-05-23 15:07:35 +01:00
memset.S arm64: lib: Implement optimized memset routine 2014-05-23 15:07:48 +01:00
strchr.S arm64: klib: Optimised string functions 2013-03-21 17:39:30 +00:00
strcmp.S arm64: lib: Implement optimized string compare routines 2014-05-23 15:16:59 +01:00
strlen.S arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
strncmp.S arm64: lib: Implement optimized string compare routines 2014-05-23 15:16:59 +01:00
strnlen.S arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
strrchr.S arm64: klib: Optimised string functions 2013-03-21 17:39:30 +00:00