]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/bugs: Print enabled attack vectors
authorDavid Kaplan <david.kaplan@amd.com>
Mon, 7 Jul 2025 18:33:15 +0000 (13:33 -0500)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 11 Jul 2025 15:56:41 +0000 (17:56 +0200)
Print the status of enabled attack vectors and SMT mitigation status in the
boot log for easier reporting and debugging.  This information will also be
available through sysfs.

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-21-david.kaplan@amd.com
arch/x86/kernel/cpu/bugs.c

index b9d0509e5e5eec0d6df40d666a200741784f720d..b74bf937cd9fbc689a2a8e0f29b5be3614ac4486 100644 (file)
@@ -189,6 +189,39 @@ DEFINE_STATIC_KEY_FALSE(switch_mm_cond_l1d_flush);
 DEFINE_STATIC_KEY_FALSE(cpu_buf_vm_clear);
 EXPORT_SYMBOL_GPL(cpu_buf_vm_clear);
 
+#undef pr_fmt
+#define pr_fmt(fmt)    "mitigations: " fmt
+
+static void __init cpu_print_attack_vectors(void)
+{
+       pr_info("Enabled attack vectors: ");
+
+       if (cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL))
+               pr_cont("user_kernel, ");
+
+       if (cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER))
+               pr_cont("user_user, ");
+
+       if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST))
+               pr_cont("guest_host, ");
+
+       if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST))
+               pr_cont("guest_guest, ");
+
+       pr_cont("SMT mitigations: ");
+
+       switch (smt_mitigations) {
+       case SMT_MITIGATIONS_OFF:
+               pr_cont("off\n");
+               break;
+       case SMT_MITIGATIONS_AUTO:
+               pr_cont("auto\n");
+               break;
+       case SMT_MITIGATIONS_ON:
+               pr_cont("on\n");
+       }
+}
+
 void __init cpu_select_mitigations(void)
 {
        /*
@@ -209,6 +242,8 @@ void __init cpu_select_mitigations(void)
 
        x86_arch_cap_msr = x86_read_arch_cap_msr();
 
+       cpu_print_attack_vectors();
+
        /* Select the proper CPU mitigations before patching alternatives: */
        spectre_v1_select_mitigation();
        spectre_v2_select_mitigation();