diff options
| author | Catalin Marinas <catalin.marinas@arm.com> | 2016-07-01 18:25:31 +0100 |
|---|---|---|
| committer | Amit Pundir <amit.pundir@linaro.org> | 2017-01-16 15:00:56 +0530 |
| commit | af43b1ce6227db54b5ffb8d97d2bd88c80d03a47 (patch) | |
| tree | 50a6ea073382e03e8c713ce75060c6f3126fb7d2 | |
| parent | 62a7c6fac9744a9a1a002a1fb5e3b39c8dca5866 (diff) | |
UPSTREAM: arm64: Enable CONFIG_ARM64_SW_TTBR0_PAN
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>
Bug: 31432001
Change-Id: I2f0b5f332e3c56ea0453ff69826525dec49f034b
(cherry picked from commit ba42822af1c287f038aa550f3578c61c212a892e)
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
| -rw-r--r-- | arch/arm64/Kconfig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 91a2f4d4c970..4bda2c06fe05 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -719,6 +719,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 |
