[PATCH v23 1/9] x86/cet/ibt: Update Kconfig for user-mode Indirect Branch Tracking

From: Yu-cheng Yu
Date: Tue Mar 16 2021 - 11:18:41 EST


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 <yu-cheng.yu@xxxxxxxxx>
Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
---
arch/x86/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2c93178262f5..96000ed48469 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1953,6 +1953,7 @@ config X86_CET
def_bool n
depends on AS_WRUSS
depends on ARCH_HAS_SHADOW_STACK
+ depends on $(cc-option,-fcf-protection)
select ARCH_USES_HIGH_VMA_FLAGS
select ARCH_MAYBE_MKWRITE
select ARCH_USE_GNU_PROPERTY
--
2.21.0