aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/Kconfig
diff options
context:
space:
mode:
authorGravatar Will Deacon <will@kernel.org> 2022-12-06 11:01:49 +0000
committerGravatar Will Deacon <will@kernel.org> 2022-12-06 11:01:49 +0000
commitf6ffa4c8c177c0b52d1c849289b08178f6da0eea (patch)
tree299791f71bfb2a9e9312e59ebcc8d4b157f8b5bc /arch/arm64/Kconfig
parentMerge branch 'for-next/cpufeature' into for-next/core (diff)
parentarm64: implement dynamic shadow call stack for Clang (diff)
downloadlinux-f6ffa4c8c177c0b52d1c849289b08178f6da0eea.tar.gz
linux-f6ffa4c8c177c0b52d1c849289b08178f6da0eea.tar.bz2
linux-f6ffa4c8c177c0b52d1c849289b08178f6da0eea.zip
Merge branch 'for-next/dynamic-scs' into for-next/core
* for-next/dynamic-scs: arm64: implement dynamic shadow call stack for Clang scs: add support for dynamic shadow call stacks arm64: unwind: add asynchronous unwind tables to kernel and modules
Diffstat (limited to 'arch/arm64/Kconfig')
-rw-r--r--arch/arm64/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 16c2a7d68ca4..1a1bd71ae294 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -371,6 +371,9 @@ config KASAN_SHADOW_OFFSET
default 0xeffffff800000000 if ARM64_VA_BITS_36 && KASAN_SW_TAGS
default 0xffffffffffffffff
+config UNWIND_TABLES
+ bool
+
source "arch/arm64/Kconfig.platforms"
menu "Kernel Features"
@@ -2158,6 +2161,15 @@ config ARCH_NR_GPIO
If unsure, leave the default value.
+config UNWIND_PATCH_PAC_INTO_SCS
+ bool "Enable shadow call stack dynamically using code patching"
+ # needs Clang with https://reviews.llvm.org/D111780 incorporated
+ depends on CC_IS_CLANG && CLANG_VERSION >= 150000
+ depends on ARM64_PTR_AUTH_KERNEL && CC_HAS_BRANCH_PROT_PAC_RET
+ depends on SHADOW_CALL_STACK
+ select UNWIND_TABLES
+ select DYNAMIC_SCS
+
endmenu # "Kernel Features"
menu "Boot options"