]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
arm64: Enable CONFIG_ARM64_SW_TTBR0_PAN
authorCatalin Marinas <catalin.marinas@arm.com>
Fri, 1 Jul 2016 17:25:31 +0000 (18:25 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 21 Nov 2016 18:48:55 +0000 (18:48 +0000)
This patch adds the Kconfig option to enable support for TTBR0 PAN
emulation. The option is default off because of a slight performance hit
when enabled, caused by the additional TTBR0_EL1 switching during user
access operations or exception entry/exit code.

Cc: Will Deacon <will.deacon@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig

index 0b8227f23eed615d6d15a9322c604933fabbf07d..e8dd55e7db3832038ec090d1ca144b84f63141eb 100644 (file)
@@ -794,6 +794,14 @@ config SETEND_EMULATION
          If unsure, say Y
 endif
 
+config ARM64_SW_TTBR0_PAN
+       bool "Emulate Privileged Access Never using TTBR0_EL1 switching"
+       help
+         Enabling this option prevents the kernel from accessing
+         user-space memory directly by pointing TTBR0_EL1 to a reserved
+         zeroed area and reserved ASID. The user access routines
+         restore the valid TTBR0_EL1 temporarily.
+
 menu "ARMv8.1 architectural features"
 
 config ARM64_HW_AFDBM