47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 902c28c3ffa6271ab3f6f1104b03683eff7c2ac9 Mon Sep 17 00:00:00 2001
|
|
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
|
Date: Fri, 12 Apr 2019 17:50:58 -0400
|
|
Subject: [PATCH 22/30] x86/speculation/mds: Print SMT vulnerable on MSBDS with
|
|
mitigations off
|
|
|
|
commit e2c3c94788b08891dcf3dbe608f9880523ecd71b upstream
|
|
|
|
This code is only for CPUs which are affected by MSBDS, but are *not*
|
|
affected by the other two MDS issues.
|
|
|
|
For such CPUs, enabling the mds_idle_clear mitigation is enough to
|
|
mitigate SMT.
|
|
|
|
However if user boots with 'mds=off' and still has SMT enabled, we should
|
|
not report that SMT is mitigated:
|
|
|
|
$cat /sys//devices/system/cpu/vulnerabilities/mds
|
|
Vulnerable; SMT mitigated
|
|
|
|
But rather:
|
|
Vulnerable; SMT vulnerable
|
|
|
|
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Reviewed-by: Tyler Hicks <tyhicks@canonical.com>
|
|
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
|
|
Link: https://lkml.kernel.org/r/20190412215118.294906495@localhost.localdomain
|
|
---
|
|
arch/x86/kernel/cpu/bugs.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
|
|
index 1726f43853ca..8d432a3d38a3 100644
|
|
--- a/arch/x86/kernel/cpu/bugs.c
|
|
+++ b/arch/x86/kernel/cpu/bugs.c
|
|
@@ -1186,7 +1186,8 @@ static ssize_t mds_show_state(char *buf)
|
|
|
|
if (boot_cpu_has(X86_BUG_MSBDS_ONLY)) {
|
|
return sprintf(buf, "%s; SMT %s\n", mds_strings[mds_mitigation],
|
|
- sched_smt_active() ? "mitigated" : "disabled");
|
|
+ (mds_mitigation == MDS_MITIGATION_OFF ? "vulnerable" :
|
|
+ sched_smt_active() ? "mitigated" : "disabled"));
|
|
}
|
|
|
|
return sprintf(buf, "%s; SMT %s\n", mds_strings[mds_mitigation],
|