Indirect branch tracking is a hardware security feature that verifies near
indirect call/jump instructions arrive at intended targets, which are
labeled by the compiler with ENDBR opcodes.  If such instructions reach
unlabeled locations, the processor raises control-protection faults.

Check the compiler is up-to-date at config time.

Signed-off-by: Yu-cheng Yu <[email protected]>
---
 arch/x86/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index aec4c988a5ae..b3d2b821ec10 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1962,6 +1962,7 @@ config X86_CET
        def_bool n
        depends on CPU_SUP_INTEL && X86_64
        depends on AS_WRUSS
+       depends on $(cc-option,-fcf-protection)
        select ARCH_USES_HIGH_VMA_FLAGS
        select ARCH_HAS_SHADOW_STACK
        select ARCH_MAYBE_MKWRITE
-- 
2.21.0

Reply via email to