[PATCH 4/4] qemu: Init ext devices paths on reconnect

Michal Privoznik mprivozn at redhat.com
Mon Dec 5 12:17:31 UTC 2022


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 <mprivozn at redhat.com>
---
 src/qemu/qemu_process.c | 3 +++
 1 file changed, 3 insertions(+)

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);
-- 
2.37.4



More information about the libvir-list mailing list