]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/bugs: Remove md_clear_*_mitigation()
authorDavid Kaplan <david.kaplan@amd.com>
Sun, 27 Apr 2025 15:12:41 +0000 (17:12 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 28 Apr 2025 12:50:33 +0000 (14:50 +0200)
The functionality in md_clear_update_mitigation() and
md_clear_select_mitigation() is now integrated into the select/update
functions for the MDS, TAA, MMIO, and RFDS vulnerabilities.

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

index 2705105d9a5e3a675cc20eb78ce211ba73b17761..98476b8ba4fd3500f88842bcad741eaa1a07204b 100644 (file)
@@ -62,8 +62,6 @@ static void __init l1tf_select_mitigation(void);
 static void __init mds_select_mitigation(void);
 static void __init mds_update_mitigation(void);
 static void __init mds_apply_mitigation(void);
-static void __init md_clear_update_mitigation(void);
-static void __init md_clear_select_mitigation(void);
 static void __init taa_select_mitigation(void);
 static void __init taa_update_mitigation(void);
 static void __init taa_apply_mitigation(void);
@@ -204,7 +202,6 @@ void __init cpu_select_mitigations(void)
        taa_select_mitigation();
        mmio_select_mitigation();
        rfds_select_mitigation();
-       md_clear_select_mitigation();
        srbds_select_mitigation();
        l1d_flush_select_mitigation();
 
@@ -691,68 +688,6 @@ static __init int rfds_parse_cmdline(char *str)
 }
 early_param("reg_file_data_sampling", rfds_parse_cmdline);
 
-#undef pr_fmt
-#define pr_fmt(fmt)     "" fmt
-
-static void __init md_clear_update_mitigation(void)
-{
-       if (cpu_mitigations_off())
-               return;
-
-       if (!boot_cpu_has(X86_FEATURE_CLEAR_CPU_BUF))
-               goto out;
-
-       /*
-        * X86_FEATURE_CLEAR_CPU_BUF is now enabled. Update MDS, TAA and MMIO
-        * Stale Data mitigation, if necessary.
-        */
-       if (mds_mitigation == MDS_MITIGATION_OFF &&
-           boot_cpu_has_bug(X86_BUG_MDS)) {
-               mds_mitigation = MDS_MITIGATION_FULL;
-               mds_select_mitigation();
-       }
-       if (taa_mitigation == TAA_MITIGATION_OFF &&
-           boot_cpu_has_bug(X86_BUG_TAA)) {
-               taa_mitigation = TAA_MITIGATION_VERW;
-               taa_select_mitigation();
-       }
-       /*
-        * MMIO_MITIGATION_OFF is not checked here so that cpu_buf_vm_clear
-        * gets updated correctly as per X86_FEATURE_CLEAR_CPU_BUF state.
-        */
-       if (boot_cpu_has_bug(X86_BUG_MMIO_STALE_DATA)) {
-               mmio_mitigation = MMIO_MITIGATION_VERW;
-               mmio_select_mitigation();
-       }
-       if (rfds_mitigation == RFDS_MITIGATION_OFF &&
-           boot_cpu_has_bug(X86_BUG_RFDS)) {
-               rfds_mitigation = RFDS_MITIGATION_VERW;
-               rfds_select_mitigation();
-       }
-out:
-       if (boot_cpu_has_bug(X86_BUG_MDS))
-               pr_info("MDS: %s\n", mds_strings[mds_mitigation]);
-       if (boot_cpu_has_bug(X86_BUG_TAA))
-               pr_info("TAA: %s\n", taa_strings[taa_mitigation]);
-       if (boot_cpu_has_bug(X86_BUG_MMIO_STALE_DATA))
-               pr_info("MMIO Stale Data: %s\n", mmio_strings[mmio_mitigation]);
-       else if (boot_cpu_has_bug(X86_BUG_MMIO_UNKNOWN))
-               pr_info("MMIO Stale Data: Unknown: No mitigations\n");
-       if (boot_cpu_has_bug(X86_BUG_RFDS))
-               pr_info("Register File Data Sampling: %s\n", rfds_strings[rfds_mitigation]);
-}
-
-static void __init md_clear_select_mitigation(void)
-{
-
-       /*
-        * As these mitigations are inter-related and rely on VERW instruction
-        * to clear the microarchitural buffers, update and print their status
-        * after mitigation selection is done for each of these vulnerabilities.
-        */
-       md_clear_update_mitigation();
-}
-
 #undef pr_fmt
 #define pr_fmt(fmt)    "SRBDS: " fmt