Do not consider CAP_RDCL_NO as an indicator for all MDS vulnerabilities
handled by hardware. Reported by: Anthony Steinhauser <asteinhauser@google.com> admbugs: 962 Sponsored by: The FreeBSD Foundation MFC after: 1 week
This commit is contained in:
parent
3e9470482a
commit
36e1ad61e8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=361299
@ -1078,11 +1078,11 @@ hw_mds_recalculate(void)
|
||||
* reported. For instance, hypervisor might unknowingly
|
||||
* filter the cap out.
|
||||
* For the similar reasons, and for testing, allow to enable
|
||||
* mitigation even for RDCL_NO or MDS_NO caps.
|
||||
* mitigation even when MDS_NO cap is set.
|
||||
*/
|
||||
if (cpu_vendor_id != CPU_VENDOR_INTEL || hw_mds_disable == 0 ||
|
||||
((cpu_ia32_arch_caps & (IA32_ARCH_CAP_RDCL_NO |
|
||||
IA32_ARCH_CAP_MDS_NO)) != 0 && hw_mds_disable == 3)) {
|
||||
((cpu_ia32_arch_caps & IA32_ARCH_CAP_MDS_NO) != 0 &&
|
||||
hw_mds_disable == 3)) {
|
||||
mds_handler = mds_handler_void;
|
||||
} else if (((cpu_stdext_feature3 & CPUID_STDEXT3_MD_CLEAR) != 0 &&
|
||||
hw_mds_disable == 3) || hw_mds_disable == 1) {
|
||||
|
Loading…
Reference in New Issue
Block a user