mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
x86/bugs: Rename CONFIG_CALL_DEPTH_TRACKING => CONFIG_MITIGATION_CALL_DEPTH_TRACKING
Step 3/10 of the namespace unification of CPU mitigations related Kconfig options. Suggested-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: https://lore.kernel.org/r/20231121160740.1249350-4-leitao@debian.org
This commit is contained in:
parent
e0b8fcfa3c
commit
5fa31af31e
@ -2523,7 +2523,7 @@ config CPU_UNRET_ENTRY
|
||||
help
|
||||
Compile the kernel with support for the retbleed=unret mitigation.
|
||||
|
||||
config CALL_DEPTH_TRACKING
|
||||
config MITIGATION_CALL_DEPTH_TRACKING
|
||||
bool "Mitigate RSB underflow with call depth tracking"
|
||||
depends on CPU_SUP_INTEL && HAVE_CALL_THUNKS
|
||||
select HAVE_DYNAMIC_FTRACE_NO_PATCHABLE
|
||||
@ -2543,7 +2543,7 @@ config CALL_DEPTH_TRACKING
|
||||
|
||||
config CALL_THUNKS_DEBUG
|
||||
bool "Enable call thunks and call depth tracking debugging"
|
||||
depends on CALL_DEPTH_TRACKING
|
||||
depends on MITIGATION_CALL_DEPTH_TRACKING
|
||||
select FUNCTION_ALIGNMENT_32B
|
||||
default n
|
||||
help
|
||||
|
@ -17,7 +17,7 @@ struct pcpu_hot {
|
||||
struct task_struct *current_task;
|
||||
int preempt_count;
|
||||
int cpu_number;
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
u64 call_depth;
|
||||
#endif
|
||||
unsigned long top_of_stack;
|
||||
|
@ -69,7 +69,7 @@
|
||||
# define DISABLE_UNRET (1 << (X86_FEATURE_UNRET & 31))
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
# define DISABLE_CALL_DEPTH_TRACKING 0
|
||||
#else
|
||||
# define DISABLE_CALL_DEPTH_TRACKING (1 << (X86_FEATURE_CALL_DEPTH & 31))
|
||||
|
@ -73,7 +73,7 @@
|
||||
# define CALL_THUNKS_DEBUG_INC_CTXSW
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CALL_DEPTH_TRACKING) && !defined(COMPILE_OFFSETS)
|
||||
#if defined(CONFIG_MITIGATION_CALL_DEPTH_TRACKING) && !defined(COMPILE_OFFSETS)
|
||||
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
@ -309,7 +309,7 @@
|
||||
|
||||
|
||||
.macro CALL_DEPTH_ACCOUNT
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
ALTERNATIVE "", \
|
||||
__stringify(ASM_INCREMENT_CALL_DEPTH), X86_FEATURE_CALL_DEPTH
|
||||
#endif
|
||||
@ -357,7 +357,7 @@ extern void entry_ibpb(void);
|
||||
|
||||
extern void (*x86_return_thunk)(void);
|
||||
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
extern void call_depth_return_thunk(void);
|
||||
|
||||
#define CALL_DEPTH_ACCOUNT \
|
||||
@ -371,12 +371,12 @@ DECLARE_PER_CPU(u64, __x86_ret_count);
|
||||
DECLARE_PER_CPU(u64, __x86_stuffs_count);
|
||||
DECLARE_PER_CPU(u64, __x86_ctxsw_count);
|
||||
#endif
|
||||
#else /* !CONFIG_CALL_DEPTH_TRACKING */
|
||||
#else /* !CONFIG_MITIGATION_CALL_DEPTH_TRACKING */
|
||||
|
||||
static inline void call_depth_return_thunk(void) {}
|
||||
#define CALL_DEPTH_ACCOUNT ""
|
||||
|
||||
#endif /* CONFIG_CALL_DEPTH_TRACKING */
|
||||
#endif /* CONFIG_MITIGATION_CALL_DEPTH_TRACKING */
|
||||
|
||||
#ifdef CONFIG_RETPOLINE
|
||||
|
||||
|
@ -109,7 +109,7 @@ static void __used common(void)
|
||||
OFFSET(TSS_sp2, tss_struct, x86_tss.sp2);
|
||||
OFFSET(X86_top_of_stack, pcpu_hot, top_of_stack);
|
||||
OFFSET(X86_current_task, pcpu_hot, current_task);
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
OFFSET(X86_call_depth, pcpu_hot, call_depth);
|
||||
#endif
|
||||
#if IS_ENABLED(CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64)
|
||||
|
@ -1003,15 +1003,15 @@ static void __init retbleed_select_mitigation(void)
|
||||
break;
|
||||
|
||||
case RETBLEED_CMD_STUFF:
|
||||
if (IS_ENABLED(CONFIG_CALL_DEPTH_TRACKING) &&
|
||||
if (IS_ENABLED(CONFIG_MITIGATION_CALL_DEPTH_TRACKING) &&
|
||||
spectre_v2_enabled == SPECTRE_V2_RETPOLINE) {
|
||||
retbleed_mitigation = RETBLEED_MITIGATION_STUFF;
|
||||
|
||||
} else {
|
||||
if (IS_ENABLED(CONFIG_CALL_DEPTH_TRACKING))
|
||||
if (IS_ENABLED(CONFIG_MITIGATION_CALL_DEPTH_TRACKING))
|
||||
pr_err("WARNING: retbleed=stuff depends on spectre_v2=retpoline\n");
|
||||
else
|
||||
pr_err("WARNING: kernel not compiled with CALL_DEPTH_TRACKING.\n");
|
||||
pr_err("WARNING: kernel not compiled with MITIGATION_CALL_DEPTH_TRACKING.\n");
|
||||
|
||||
goto do_cmd_auto;
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ SYM_CODE_END(__x86_indirect_thunk_array)
|
||||
#include <asm/GEN-for-each-reg.h>
|
||||
#undef GEN
|
||||
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
.macro CALL_THUNK reg
|
||||
.align RETPOLINE_THUNK_SIZE
|
||||
|
||||
@ -327,7 +327,7 @@ __EXPORT_THUNK(entry_untrain_ret)
|
||||
|
||||
#endif /* CONFIG_CPU_UNRET_ENTRY || CONFIG_CPU_SRSO */
|
||||
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
|
||||
.align 64
|
||||
SYM_FUNC_START(call_depth_return_thunk)
|
||||
@ -359,7 +359,7 @@ SYM_FUNC_START(call_depth_return_thunk)
|
||||
int3
|
||||
SYM_FUNC_END(call_depth_return_thunk)
|
||||
|
||||
#endif /* CONFIG_CALL_DEPTH_TRACKING */
|
||||
#endif /* CONFIG_MITIGATION_CALL_DEPTH_TRACKING */
|
||||
|
||||
/*
|
||||
* This function name is magical and is used by -mfunction-return=thunk-extern
|
||||
|
@ -254,7 +254,7 @@ objtool := $(objtree)/tools/objtool/objtool
|
||||
|
||||
objtool-args-$(CONFIG_HAVE_JUMP_LABEL_HACK) += --hacks=jump_label
|
||||
objtool-args-$(CONFIG_HAVE_NOINSTR_HACK) += --hacks=noinstr
|
||||
objtool-args-$(CONFIG_CALL_DEPTH_TRACKING) += --hacks=skylake
|
||||
objtool-args-$(CONFIG_MITIGATION_CALL_DEPTH_TRACKING) += --hacks=skylake
|
||||
objtool-args-$(CONFIG_X86_KERNEL_IBT) += --ibt
|
||||
objtool-args-$(CONFIG_FINEIBT) += --cfi
|
||||
objtool-args-$(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL) += --mcount
|
||||
|
@ -69,7 +69,7 @@
|
||||
# define DISABLE_UNRET (1 << (X86_FEATURE_UNRET & 31))
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CALL_DEPTH_TRACKING
|
||||
#ifdef CONFIG_MITIGATION_CALL_DEPTH_TRACKING
|
||||
# define DISABLE_CALL_DEPTH_TRACKING 0
|
||||
#else
|
||||
# define DISABLE_CALL_DEPTH_TRACKING (1 << (X86_FEATURE_CALL_DEPTH & 31))
|
||||
|
Loading…
Reference in New Issue
Block a user