]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Fix maximum physical address size in baseline CPU
authorJiri Denemark <jdenemar@redhat.com>
Thu, 31 Oct 2024 13:19:54 +0000 (14:19 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 1 Nov 2024 09:19:24 +0000 (10:19 +0100)
We should include maximum physical address size in the CPU definition
created by virConnectBaselineHypervisorCPU only if we know the value for
all input CPUs. Otherwise we would create a CPU definition that is not
usable on all hosts from which we gathered the CPU info.

https://issues.redhat.com/browse/RHEL-24850

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c

index 72211da137df4007d8142cf11730f3054a3979cc..72a9542c0be02f487af54e41eccd0b9be92f02b6 100644 (file)
@@ -11914,10 +11914,12 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr conn,
         goto cleanup;
 
     for (i = 0; i < ncpus; i++) {
-        if (!cpus[i]->addr || cpus[i]->addr->limit == 0)
+        if (!cpus[i]->addr || cpus[i]->addr->limit == 0) {
+            physAddrSize = 0;
             continue;
+        }
 
-        if (physAddrSize == 0 || cpus[i]->addr->limit < physAddrSize)
+        if (i == 0 || cpus[i]->addr->limit < physAddrSize)
             physAddrSize = cpus[i]->addr->limit;
     }