Skip to content

Commit

Permalink
x86/bugs: Remove CONFIG_BHI_MITIGATION_AUTO and spectre_bhi=auto
Browse files Browse the repository at this point in the history
commit 36d4fe1 upstream.

Unlike most other mitigations' "auto" options, spectre_bhi=auto only
mitigates newer systems, which is confusing and not particularly useful.

Remove it.

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/412e9dc87971b622bbbaf64740ebc1f140bff343.1712813475.git.jpoimboe@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
jpoimboe authored and gregkh committed Apr 17, 2024
1 parent ebba227 commit d315f5e
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 20 deletions.
4 changes: 0 additions & 4 deletions Documentation/admin-guide/hw-vuln/spectre.rst
Expand Up @@ -719,10 +719,6 @@ For user space mitigation:
needed.
off
Disable the mitigation.
auto
Enable the HW mitigation if needed, but
*don't* enable the SW mitigation except for KVM.
The system may be vulnerable.

For spectre_v2_user see Documentation/admin-guide/kernel-parameters.txt

Expand Down
3 changes: 0 additions & 3 deletions Documentation/admin-guide/kernel-parameters.txt
Expand Up @@ -5413,9 +5413,6 @@
on - (default) Enable the HW or SW mitigation
as needed.
off - Disable the mitigation.
auto - Enable the HW mitigation if needed, but
*don't* enable the SW mitigation except
for KVM. The system may be vulnerable.

spectre_v2= [X86] Control mitigation of Spectre variant 2
(indirect branch speculation) vulnerability.
Expand Down
4 changes: 0 additions & 4 deletions arch/x86/Kconfig
Expand Up @@ -2523,10 +2523,6 @@ config SPECTRE_BHI_OFF
bool "off"
help
Equivalent to setting spectre_bhi=off command line parameter.
config SPECTRE_BHI_AUTO
bool "auto"
help
Equivalent to setting spectre_bhi=auto command line parameter.

endchoice

Expand Down
10 changes: 1 addition & 9 deletions arch/x86/kernel/cpu/bugs.c
Expand Up @@ -1602,13 +1602,10 @@ static bool __init spec_ctrl_bhi_dis(void)
enum bhi_mitigations {
BHI_MITIGATION_OFF,
BHI_MITIGATION_ON,
BHI_MITIGATION_AUTO,
};

static enum bhi_mitigations bhi_mitigation __ro_after_init =
IS_ENABLED(CONFIG_SPECTRE_BHI_ON) ? BHI_MITIGATION_ON :
IS_ENABLED(CONFIG_SPECTRE_BHI_OFF) ? BHI_MITIGATION_OFF :
BHI_MITIGATION_AUTO;
IS_ENABLED(CONFIG_SPECTRE_BHI_ON) ? BHI_MITIGATION_ON : BHI_MITIGATION_OFF;

static int __init spectre_bhi_parse_cmdline(char *str)
{
Expand All @@ -1619,8 +1616,6 @@ static int __init spectre_bhi_parse_cmdline(char *str)
bhi_mitigation = BHI_MITIGATION_OFF;
else if (!strcmp(str, "on"))
bhi_mitigation = BHI_MITIGATION_ON;
else if (!strcmp(str, "auto"))
bhi_mitigation = BHI_MITIGATION_AUTO;
else
pr_err("Ignoring unknown spectre_bhi option (%s)", str);

Expand Down Expand Up @@ -1650,9 +1645,6 @@ static void __init bhi_select_mitigation(void)
setup_force_cpu_cap(X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT);
pr_info("Spectre BHI mitigation: SW BHB clearing on vm exit\n");

if (bhi_mitigation == BHI_MITIGATION_AUTO)
return;

/* Mitigate syscalls when the mitigation is forced =on */
setup_force_cpu_cap(X86_FEATURE_CLEAR_BHB_LOOP);
pr_info("Spectre BHI mitigation: SW BHB clearing on syscall\n");
Expand Down

0 comments on commit d315f5e

Please sign in to comment.