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

From: Yu-cheng Yu
Date: Wed Feb 17 2021 - 17:42:28 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 cafa4a2c1d2d..5e157031bf82 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1963,6 +1963,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