diff options
author | Mark Rutland <mark.rutland@arm.com> | 2018-12-07 18:39:30 +0000 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-12-13 16:42:46 +0000 |
commit | 04ca3204fa09f5f55c8f113b0072004a7b364ff4 (patch) | |
tree | 51448e8a28c60c182bb674ff8295f54515f2fd73 /arch/arm64/Kconfig | |
parent | ba830885656414101b2f8ca88786524d4bb5e8c1 (diff) | |
download | lwn-04ca3204fa09f5f55c8f113b0072004a7b364ff4.tar.gz lwn-04ca3204fa09f5f55c8f113b0072004a7b364ff4.zip |
arm64: enable pointer authentication
Now that all the necessary bits are in place for userspace, add the
necessary Kconfig logic to allow this to be enabled.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/Kconfig')
-rw-r--r-- | arch/arm64/Kconfig | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 0b3aa2a894a7..2a67abeca041 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1260,6 +1260,29 @@ config ARM64_CNP endmenu +menu "ARMv8.3 architectural features" + +config ARM64_PTR_AUTH + bool "Enable support for pointer authentication" + default y + help + Pointer authentication (part of the ARMv8.3 Extensions) provides + instructions for signing and authenticating pointers against secret + keys, which can be used to mitigate Return Oriented Programming (ROP) + and other attacks. + + This option enables these instructions at EL0 (i.e. for userspace). + + Choosing this option will cause the kernel to initialise secret keys + for each process at exec() time, with these keys being + context-switched along with the process. + + The feature is detected at runtime. If the feature is not present in + hardware it will not be advertised to userspace nor will it be + enabled. + +endmenu + config ARM64_SVE bool "ARM Scalable Vector Extension support" default y |