x86/bugs: Use the cpu_smt_possible() helper instead of open-coded code
authorBreno Leitao <leitao@debian.org>
Thu, 31 Oct 2024 11:06:16 +0000 (04:06 -0700)
committerIngo Molnar <mingo@kernel.org>
Mon, 3 Mar 2025 11:48:17 +0000 (12:48 +0100)
There is a helper function to check if SMT is available. Use this helper
instead of performing the check manually.

The helper function cpu_smt_possible() does exactly the same thing as
was being done manually inside spectre_v2_user_select_mitigation().
Specifically, it returns false if CONFIG_SMP is disabled, otherwise
it checks the cpu_smt_control global variable.

This change improves code consistency and reduces duplication.

No change in functionality intended.

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Cc: David Kaplan <David.Kaplan@amd.com>
Link: https://lore.kernel.org/r/20241031-x86_bugs_last_v2-v2-1-b7ff1dab840e@debian.org
arch/x86/kernel/cpu/bugs.c

index 93c437f44c24520b4b4417b030b913b80efe83e4..346bebff3f6cb8a88afc856fa95cd46e205a1684 100644 (file)
@@ -1346,16 +1346,11 @@ static void __init
 spectre_v2_user_select_mitigation(void)
 {
        enum spectre_v2_user_mitigation mode = SPECTRE_V2_USER_NONE;
-       bool smt_possible = IS_ENABLED(CONFIG_SMP);
        enum spectre_v2_user_cmd cmd;
 
        if (!boot_cpu_has(X86_FEATURE_IBPB) && !boot_cpu_has(X86_FEATURE_STIBP))
                return;
 
-       if (cpu_smt_control == CPU_SMT_FORCE_DISABLED ||
-           cpu_smt_control == CPU_SMT_NOT_SUPPORTED)
-               smt_possible = false;
-
        cmd = spectre_v2_parse_user_cmdline();
        switch (cmd) {
        case SPECTRE_V2_USER_CMD_NONE:
@@ -1416,7 +1411,7 @@ spectre_v2_user_select_mitigation(void)
         * so allow for STIBP to be selected in those cases.
         */
        if (!boot_cpu_has(X86_FEATURE_STIBP) ||
-           !smt_possible ||
+           !cpu_smt_possible() ||
            (spectre_v2_in_eibrs_mode(spectre_v2_enabled) &&
             !boot_cpu_has(X86_FEATURE_AUTOIBRS)))
                return;