svn commit: r361299 - head/sys/x86/x86

Konstantin Belousov kib at FreeBSD.org
Wed May 20 21:22:26 UTC 2020


Author: kib
Date: Wed May 20 21:22:25 2020
New Revision: 361299
URL: https://svnweb.freebsd.org/changeset/base/361299

Log:
  Do not consider CAP_RDCL_NO as an indicator for all MDS vulnerabilities
  handled by hardware.
  
  Reported by:	Anthony Steinhauser <asteinhauser at google.com>
  admbugs:	962
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/x86/x86/cpu_machdep.c

Modified: head/sys/x86/x86/cpu_machdep.c
==============================================================================
--- head/sys/x86/x86/cpu_machdep.c	Wed May 20 21:21:01 2020	(r361298)
+++ head/sys/x86/x86/cpu_machdep.c	Wed May 20 21:22:25 2020	(r361299)
@@ -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) {


More information about the svn-src-all mailing list