From: Michal Privoznik Date: Mon, 5 Dec 2022 12:08:39 +0000 (+0100) Subject: qemu: Init ext devices paths on reconnect X-Git-Tag: v9.0.0-rc1~210 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a2034127010598b91fa576f72f330baf50c1085;p=thirdparty%2Flibvirt.git qemu: Init ext devices paths on reconnect Paths for external devices (well, so far only vTPM) are not stored in the status XML. Therefore, we need to regenerate them after we've been restarted and reconnecting to a running domain. Otherwise these will remain NULL which may later lead to a NULL dereference. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2150760 Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 19b9242623..c542be5036 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8896,6 +8896,9 @@ qemuProcessReconnect(void *opaque) if (qemuDomainMasterKeyReadFile(priv) < 0) goto error; + if (qemuExtDevicesInitPaths(driver, obj->def) < 0) + goto error; + /* If we are connecting to a guest started by old libvirt there is no * allowReboot in status XML and we need to initialize it. */ qemuProcessPrepareAllowReboot(obj);