From: Michal Privoznik Date: Tue, 1 Aug 2023 11:01:47 +0000 (+0200) Subject: qemu_hotplug: validate address on memory device change X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0b7af96492993bc8bacbff0dd8f9ea950772aff6;p=libvirt.git qemu_hotplug: validate address on memory device change 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 Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index f3f0e23fa7..149c08d392 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -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; }