@@ -599,21 +599,22 @@ config STACKPROTECTOR_STRONG
599
599
config ARCH_SUPPORTS_SHADOW_CALL_STACK
600
600
bool
601
601
help
602
- An architecture should select this if it supports Clang's Shadow
603
- Call Stack and implements runtime support for shadow stack
602
+ An architecture should select this if it supports the compiler's
603
+ Shadow Call Stack and implements runtime support for shadow stack
604
604
switching.
605
605
606
606
config SHADOW_CALL_STACK
607
- bool "Clang Shadow Call Stack"
608
- depends on CC_IS_CLANG && ARCH_SUPPORTS_SHADOW_CALL_STACK
607
+ bool "Shadow Call Stack"
608
+ depends on ARCH_SUPPORTS_SHADOW_CALL_STACK
609
609
depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
610
610
help
611
- This option enables Clang 's Shadow Call Stack, which uses a
612
- shadow stack to protect function return addresses from being
613
- overwritten by an attacker. More information can be found in
614
- Clang 's documentation:
611
+ This option enables the compiler 's Shadow Call Stack, which
612
+ uses a shadow stack to protect function return addresses from
613
+ being overwritten by an attacker. More information can be found
614
+ in the compiler 's documentation:
615
615
616
- https://clang.llvm.org/docs/ShadowCallStack.html
616
+ - Clang: https://clang.llvm.org/docs/ShadowCallStack.html
617
+ - GCC: https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#Instrumentation-Options
617
618
618
619
Note that security guarantees in the kernel differ from the
619
620
ones documented for user space. The kernel must store addresses
0 commit comments