From 568902efbaaf633ba9af6044901846e3eaaa27f1 Mon Sep 17 00:00:00 2001 From: Mark Rutland Date: Sat, 29 Aug 2020 15:48:07 +0800 Subject: [PATCH] arm64: enable pointer authentication mainline inclusion from v4.20-rc3 commit 04ca3204fa09 category: feature bugzilla: 27615 CVE: NA ------------------------------------------------- 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 Signed-off-by: Kristina Martsenko Cc: Catalin Marinas Cc: Will Deacon Signed-off-by: Will Deacon Signed-off-by: Zheng Zengkai Reviewed-by: Hanjun Guo Signed-off-by: Yang Yingliang --- arch/arm64/Kconfig | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 2c7e6a0196a3..d444e1bdbc7e 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1231,6 +1231,29 @@ config ARM64_RAS_EXTN 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 -- GitLab