Skip to content

Commit 13963c2

Browse files
zulinx86roypat
authored andcommitted
fix(vmm): Set IA32_ARCH_CAPABILITIES.RRSBA to 1 with T2S
We updated the fingerprint files in PR #3813, since Intel microcode release (microcode-20230512) changed to set IA32_ARCH_CAPABILITIES.RRSBA (bit 19) to 1 on Intel CascadeLake CPU. The mitigation itself is already in place which is eIBRS. Since the kernel enables eIBRS by default using SPECTRE_V2_EIBRS mode regardless of the IA32_ARCH_CAPABILITIES.RRSBA bit, hosts and guests should not get impacted by this change. However, it has a role to inform softwares whether the part has the RRSBA behavior. The T2S template has set it to 0 explicitly before, but this commit changes to set it to 1 so that guest kernels and applications can know that the processor has the RRSBA behavior. The reason why it sets the bit to 1 instead of passing through it from the host is that it aims to provide the ability to securely migrate snapshots between Intel Skylake and Intel CascadeLake. Signed-off-by: Takahiro Itazuri <[email protected]>
1 parent 5cbc900 commit 13963c2

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
thread due to a misconfiguration of the `api_event_fd`.
3030
- Fixed CPUID leaf 0x1 to disable perfmon and debug feature on x86 host.
3131
- Fixed passing through cache information from host in CPUID leaf 0x80000006.
32+
- Fixed the T2S CPU template to set the RRSBA bit of the IA32_ARCH_CAPABILITIES
33+
MSR to 1 in accordance with an Intel microcode update.
3234

3335
## [1.3.0]
3436

resources/tests/static_cpu_templates/t2s.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
"msr_modifiers": [
9191
{
9292
"addr": "0x10a",
93-
"bitmap": "0b0000000000000000000000000000000000000000000000000000110001001100"
93+
"bitmap": "0b0000000000000000000000000000000000000000000010000000110001001100"
9494
}
9595
]
9696
}

src/vmm/src/cpu_config/x86_64/static_cpu_templates/t2s.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ pub fn t2s() -> CustomCpuTemplate {
132132
addr: 0x10a,
133133
bitmap: RegisterValueFilter {
134134
filter: 0b1111111111111111111111111111111111111111111111111111111111111111,
135-
value: 0b0000000000000000000000000000000000000000000000000000110001001100,
135+
value: 0b0000000000000000000000000000000000000000000010000000110001001100,
136136
},
137137
}],
138138
}

0 commit comments

Comments
 (0)