Skip to content

Commit b7b4f6a

Browse files
committed
x86/bugs: Add attack vector controls for VMSCAPE
JIRA: https://issues.redhat.com/browse/RHEL-119227 commit 5799d5d Author: David Kaplan <david.kaplan@amd.com> Date: Fri, 12 Sep 2025 10:24:28 -0500 x86/bugs: Add attack vector controls for VMSCAPE Use attack vector controls to select whether VMSCAPE requires mitigation, similar to other bugs. Signed-off-by: David Kaplan <david.kaplan@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Waiman Long <longman@redhat.com>
1 parent 75ca444 commit b7b4f6a

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

Documentation/admin-guide/hw-vuln/attack_vector_controls.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ SRSO X X X X
218218
SSB X
219219
TAA X X X X * (Note 2)
220220
TSA X X X X
221+
VMSCAPE X
221222
=============== ============== ============ ============= ============== ============ ========
222223

223224
Notes:

arch/x86/kernel/cpu/bugs.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,9 @@ static bool __init should_mitigate_vuln(unsigned int bug)
434434
case X86_BUG_SPEC_STORE_BYPASS:
435435
return cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER);
436436

437+
case X86_BUG_VMSCAPE:
438+
return cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST);
439+
437440
default:
438441
WARN(1, "Unknown bug %x\n", bug);
439442
return false;
@@ -3304,15 +3307,18 @@ early_param("vmscape", vmscape_parse_cmdline);
33043307

33053308
static void __init vmscape_select_mitigation(void)
33063309
{
3307-
if (cpu_mitigations_off() ||
3308-
!boot_cpu_has_bug(X86_BUG_VMSCAPE) ||
3310+
if (!boot_cpu_has_bug(X86_BUG_VMSCAPE) ||
33093311
!boot_cpu_has(X86_FEATURE_IBPB)) {
33103312
vmscape_mitigation = VMSCAPE_MITIGATION_NONE;
33113313
return;
33123314
}
33133315

3314-
if (vmscape_mitigation == VMSCAPE_MITIGATION_AUTO)
3315-
vmscape_mitigation = VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER;
3316+
if (vmscape_mitigation == VMSCAPE_MITIGATION_AUTO) {
3317+
if (should_mitigate_vuln(X86_BUG_VMSCAPE))
3318+
vmscape_mitigation = VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER;
3319+
else
3320+
vmscape_mitigation = VMSCAPE_MITIGATION_NONE;
3321+
}
33163322
}
33173323

33183324
static void __init vmscape_update_mitigation(void)

0 commit comments

Comments
 (0)