From 0b7af96492993bc8bacbff0dd8f9ea950772aff6 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 1 Aug 2023 13:01:47 +0200 Subject: [PATCH] qemu_hotplug: validate address on memory device change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/qemu/qemu_hotplug.c | 7 +++++++ 1 file changed, 7 insertions(+) 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; }