x86/speculation/mds: Add 'mitigations=' support for MDS

Add MDS to the new 'mitigations=' cmdline option.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Josh Poimboeuf
2019-04-17 16:39:02 -05:00
committed by Thomas Gleixner
parent e9fee6fe08
commit 5c14068f87
2 changed files with 5 additions and 2 deletions

View File

@@ -2556,6 +2556,7 @@
spectre_v2_user=off [X86] spectre_v2_user=off [X86]
spec_store_bypass_disable=off [X86,PPC] spec_store_bypass_disable=off [X86,PPC]
l1tf=off [X86] l1tf=off [X86]
mds=off [X86]
auto (default) auto (default)
Mitigate all CPU vulnerabilities, but leave SMT Mitigate all CPU vulnerabilities, but leave SMT
@@ -2570,6 +2571,7 @@
if needed. This is for users who always want to if needed. This is for users who always want to
be fully mitigated, even if it means losing SMT. be fully mitigated, even if it means losing SMT.
Equivalent to: l1tf=flush,nosmt [X86] Equivalent to: l1tf=flush,nosmt [X86]
mds=full,nosmt [X86]
mminit_loglevel= mminit_loglevel=
[KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this

View File

@@ -233,7 +233,7 @@ static const char * const mds_strings[] = {
static void __init mds_select_mitigation(void) static void __init mds_select_mitigation(void)
{ {
if (!boot_cpu_has_bug(X86_BUG_MDS)) { if (!boot_cpu_has_bug(X86_BUG_MDS) || cpu_mitigations_off()) {
mds_mitigation = MDS_MITIGATION_OFF; mds_mitigation = MDS_MITIGATION_OFF;
return; return;
} }
@@ -244,7 +244,8 @@ static void __init mds_select_mitigation(void)
static_branch_enable(&mds_user_clear); static_branch_enable(&mds_user_clear);
if (mds_nosmt && !boot_cpu_has(X86_BUG_MSBDS_ONLY)) if (!boot_cpu_has(X86_BUG_MSBDS_ONLY) &&
(mds_nosmt || cpu_mitigations_auto_nosmt()))
cpu_smt_disable(false); cpu_smt_disable(false);
} }