]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86/bugs: Add attack vector controls for L1TF
authorDavid Kaplan <david.kaplan@amd.com>
Mon, 7 Jul 2025 18:33:11 +0000 (13:33 -0500)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 11 Jul 2025 15:56:41 +0000 (17:56 +0200)
Use attack vector controls to determine if L1TF mitigation is required.

Disable SMT if cross-thread protection is desired.

Signed-off-by: David Kaplan <david.kaplan@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250707183316.1349127-17-david.kaplan@amd.com
arch/x86/kernel/cpu/bugs.c

index 94c72f485707d24d97e5692342ce181fed34b78c..2128623252a420f4aebb8f59f71c0b8c27e25909 100644 (file)
@@ -2995,17 +2995,23 @@ static void override_cache_bits(struct cpuinfo_x86 *c)
 
 static void __init l1tf_select_mitigation(void)
 {
-       if (!boot_cpu_has_bug(X86_BUG_L1TF) || cpu_mitigations_off()) {
+       if (!boot_cpu_has_bug(X86_BUG_L1TF)) {
                l1tf_mitigation = L1TF_MITIGATION_OFF;
                return;
        }
 
-       if (l1tf_mitigation == L1TF_MITIGATION_AUTO) {
-               if (cpu_mitigations_auto_nosmt())
-                       l1tf_mitigation = L1TF_MITIGATION_FLUSH_NOSMT;
-               else
-                       l1tf_mitigation = L1TF_MITIGATION_FLUSH;
+       if (l1tf_mitigation != L1TF_MITIGATION_AUTO)
+               return;
+
+       if (!should_mitigate_vuln(X86_BUG_L1TF)) {
+               l1tf_mitigation = L1TF_MITIGATION_OFF;
+               return;
        }
+
+       if (smt_mitigations == SMT_MITIGATIONS_ON)
+               l1tf_mitigation = L1TF_MITIGATION_FLUSH_NOSMT;
+       else
+               l1tf_mitigation = L1TF_MITIGATION_FLUSH;
 }
 
 static void __init l1tf_apply_mitigation(void)