]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_hotplug: validate address on memory device change
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 1 Aug 2023 11:01:47 +0000 (13:01 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 24 Aug 2023 10:39:13 +0000 (12:39 +0200)
As of v7.9.0-rc1~296 users have ability to adjust what portion of
virtio-mem is exposed to the guest. Then, as of v9.4.0-rc2~5 they
have ability to set address where the memory is mapped. But due
to a missing check it was possible to feed
virDomainUpdateDeviceFlags() API  with memory device XML that
changes the address. This is of course not possible and should be
forbidden. Add the missing check.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_hotplug.c

index f3f0e23fa74ac36cca85457670803a099dd9eed0..149c08d39279bc42620eec02f529d1fe886965b5 100644 (file)
@@ -7090,6 +7090,13 @@ qemuDomainChangeMemoryLiveValidateChange(const virDomainMemoryDef *oldDef,
         return false;
     }
 
+    if (oldDef->address != newDef->address) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                       _("cannot modify memory address from '0x%1$llx' to '0x%2$llx'"),
+                       oldDef->address, newDef->address);
+        return false;
+    }
+
     return true;
 }