]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuProcessUpdateGuestCPU: Check host cpu for forbidden features
authorTim Wiederhake <twiederh@redhat.com>
Tue, 23 Mar 2021 10:01:55 +0000 (11:01 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 26 Mar 2021 10:40:55 +0000 (11:40 +0100)
See https://bugzilla.redhat.com/show_bug.cgi?id=1840770

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com
src/qemu/qemu_process.c

index fedd1f56b1d571c407237a29ea6084d097115e64..b74afedd078bba82eb165170b62f0ff744e6834e 100644 (file)
@@ -6125,6 +6125,16 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def,
     if (virCPUConvertLegacy(hostarch, def->cpu) < 0)
         return -1;
 
+    if (def->cpu->check != VIR_CPU_CHECK_NONE) {
+        virCPUDefPtr host;
+
+        host = virQEMUCapsGetHostModel(qemuCaps, def->virtType,
+                                       VIR_QEMU_CAPS_HOST_CPU_FULL);
+
+        if (host && virCPUCheckForbiddenFeatures(def->cpu, host) < 0)
+            return -1;
+    }
+
     /* nothing to update for host-passthrough / maximum */
     if (def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH &&
         def->cpu->mode != VIR_CPU_MODE_MAXIMUM) {