]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86/bugs: Use switch/case in its_apply_mitigation()
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Wed, 11 Jun 2025 17:29:47 +0000 (10:29 -0700)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 23 Jun 2025 10:22:44 +0000 (12:22 +0200)
Prepare to apply stuffing mitigation in its_apply_mitigation(). This is
currently only done via retbleed mitigation. Also using switch/case
makes it evident that mitigation mode like VMEXIT_ONLY doesn't need any
special handling.

Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
Link: https://lore.kernel.org/20250611-eibrs-fix-v4-4-5ff86cac6c61@linux.intel.com
arch/x86/kernel/cpu/bugs.c

index 20696abd1bef90aaf852fef1299b93d27c1f4da6..e861e8884d6b5e16f08d5bda0f47d5056d26c1f4 100644 (file)
@@ -1468,15 +1468,21 @@ static void __init its_update_mitigation(void)
 
 static void __init its_apply_mitigation(void)
 {
+       switch (its_mitigation) {
+       case ITS_MITIGATION_OFF:
+       case ITS_MITIGATION_AUTO:
+       case ITS_MITIGATION_VMEXIT_ONLY:
        /* its=stuff forces retbleed stuffing and is enabled there. */
-       if (its_mitigation != ITS_MITIGATION_ALIGNED_THUNKS)
-               return;
-
-       if (!boot_cpu_has(X86_FEATURE_RETPOLINE))
-               setup_force_cpu_cap(X86_FEATURE_INDIRECT_THUNK_ITS);
+       case ITS_MITIGATION_RETPOLINE_STUFF:
+               break;
+       case ITS_MITIGATION_ALIGNED_THUNKS:
+               if (!boot_cpu_has(X86_FEATURE_RETPOLINE))
+                       setup_force_cpu_cap(X86_FEATURE_INDIRECT_THUNK_ITS);
 
-       setup_force_cpu_cap(X86_FEATURE_RETHUNK);
-       set_return_thunk(its_return_thunk);
+               setup_force_cpu_cap(X86_FEATURE_RETHUNK);
+               set_return_thunk(its_return_thunk);
+               break;
+       }
 }
 
 #undef pr_fmt