render / rpms / libvirt

Forked from rpms/libvirt 5 months ago
Clone
0a7476
From fcf4343a70f4654f7b76ebffcd040902fe0db0e9 Mon Sep 17 00:00:00 2001
0a7476
Message-Id: <fcf4343a70f4654f7b76ebffcd040902fe0db0e9@dist-git>
072c97
From: Jiri Denemark <jdenemar@redhat.com>
072c97
Date: Fri, 5 Apr 2019 15:11:20 +0200
072c97
Subject: [PATCH] cpu_map: Define md-clear CPUID bit
0a7476
MIME-Version: 1.0
0a7476
Content-Type: text/plain; charset=UTF-8
0a7476
Content-Transfer-Encoding: 8bit
072c97
0a7476
CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091
072c97
072c97
The bit is set when microcode provides the mechanism to invoke a flush
072c97
of various exploitable CPU buffers by invoking the VERW instruction.
072c97
072c97
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
072c97
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
0a7476
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
0a7476
(cherry picked from commit 538d873571d7a682852dc1d70e5f4478f4d64e85)
072c97
072c97
Conflicts:
072c97
	src/cpu_map/x86_features.xml
072c97
            - no CPU map split downstream
072c97
072c97
	tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
072c97
	tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
072c97
            - test data missing downstream
072c97
072c97
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
072c97
---
072c97
 src/cpu/cpu_map.xml                                        | 3 +++
072c97
 tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml | 2 +-
072c97
 tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml   | 1 +
072c97
 tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml    | 1 +
072c97
 tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml    | 1 +
072c97
 5 files changed, 7 insertions(+), 1 deletion(-)
072c97
072c97
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
0a7476
index 1d65a92e6d..12f664434f 100644
072c97
--- a/src/cpu/cpu_map.xml
072c97
+++ b/src/cpu/cpu_map.xml
0a7476
@@ -325,6 +325,9 @@
072c97
     <feature name='avx512-4fmaps'>
072c97
       <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000008'/>
072c97
     </feature>
072c97
+    <feature name='md-clear'> 
072c97
+      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/>
072c97
+    </feature>
0a7476
     <feature name='pconfig'>
0a7476
       <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/>
072c97
     </feature>
072c97
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
072c97
index 0deca9fba6..74763a462b 100644
072c97
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
072c97
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
072c97
@@ -2,7 +2,7 @@
072c97
 <cpudata arch='x86'>
072c97
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7fa3203' edx='0x0f8bfbff'/>
072c97
   <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
072c97
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000000' edx='0x8c000000'/>
072c97
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000000' edx='0x8c000400'/>
072c97
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000007' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
072c97
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
072c97
 </cpudata>
072c97
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
0a7476
index 70a0fc3286..867970d2c7 100644
072c97
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
072c97
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
0a7476
@@ -20,6 +20,7 @@
072c97
   <feature policy='require' name='tsc_adjust'/>
072c97
   <feature policy='require' name='clflushopt'/>
0a7476
   <feature policy='require' name='intel-pt'/>
072c97
+  <feature policy='require' name='md-clear'/>
072c97
   <feature policy='require' name='stibp'/>
072c97
   <feature policy='require' name='ssbd'/>
072c97
   <feature policy='require' name='xsaves'/>
072c97
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
0a7476
index bbdfb6aa61..e7ced42797 100644
072c97
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
072c97
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
0a7476
@@ -21,6 +21,7 @@
072c97
   <feature name='tsc_adjust'/>
072c97
   <feature name='clflushopt'/>
0a7476
   <feature name='intel-pt'/>
072c97
+  <feature name='md-clear'/>
072c97
   <feature name='stibp'/>
072c97
   <feature name='ssbd'/>
072c97
   <feature name='xsaves'/>
072c97
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
072c97
index 1f321db273..a5591278df 100644
072c97
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
072c97
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
072c97
@@ -5,6 +5,7 @@
072c97
   <feature policy='require' name='hypervisor'/>
072c97
   <feature policy='require' name='tsc_adjust'/>
072c97
   <feature policy='require' name='clflushopt'/>
072c97
+  <feature policy='require' name='md-clear'/>
072c97
   <feature policy='require' name='stibp'/>
072c97
   <feature policy='require' name='ssbd'/>
072c97
   <feature policy='require' name='pdpe1gb'/>
072c97
-- 
072c97
2.21.0
072c97