diff options
author | Peter Zijlstra <peterz@infradead.org> | 2022-06-27 22:21:17 +0000 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2022-06-29 17:43:41 +0200 |
commit | f43b9876e857c739d407bc56df288b0ebe1a9164 (patch) | |
tree | 22fcf2716b615556869c460a71ed3fd9b1393bd6 /arch/x86/Makefile | |
parent | 26aae8ccbc1972233afd08fb3f368947c0314265 (diff) | |
download | linux-f43b9876e857c739d407bc56df288b0ebe1a9164.tar.gz linux-f43b9876e857c739d407bc56df288b0ebe1a9164.tar.bz2 linux-f43b9876e857c739d407bc56df288b0ebe1a9164.zip |
x86/retbleed: Add fine grained Kconfig knobs
Do fine-grained Kconfig for all the various retbleed parts.
NOTE: if your compiler doesn't support return thunks this will
silently 'upgrade' your mitigation to IBPB, you might not like this.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'arch/x86/Makefile')
-rw-r--r-- | arch/x86/Makefile | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 6e16057737e5..1f40dad30d50 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -15,14 +15,18 @@ endif ifdef CONFIG_CC_IS_GCC RETPOLINE_CFLAGS := $(call cc-option,-mindirect-branch=thunk-extern -mindirect-branch-register) RETPOLINE_CFLAGS += $(call cc-option,-mindirect-branch-cs-prefix) -RETPOLINE_CFLAGS += $(call cc-option,-mfunction-return=thunk-extern) RETPOLINE_VDSO_CFLAGS := $(call cc-option,-mindirect-branch=thunk-inline -mindirect-branch-register) endif ifdef CONFIG_CC_IS_CLANG RETPOLINE_CFLAGS := -mretpoline-external-thunk RETPOLINE_VDSO_CFLAGS := -mretpoline -RETPOLINE_CFLAGS += $(call cc-option,-mfunction-return=thunk-extern) endif + +ifdef CONFIG_RETHUNK +RETHUNK_CFLAGS := -mfunction-return=thunk-extern +RETPOLINE_CFLAGS += $(RETHUNK_CFLAGS) +endif + export RETPOLINE_CFLAGS export RETPOLINE_VDSO_CFLAGS |