| From c7d0016f3d9345fdfde134d0c5ce5217f354cf0d 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 |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| 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], |
| -- |
| 2.21.0 |
| |