]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_hotplug: enter monitor in order to rollback passed FD v12.1.0-rc2
authorPavel Hrdina <phrdina@redhat.com>
Thu, 26 Feb 2026 09:54:18 +0000 (10:54 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Thu, 26 Feb 2026 11:23:24 +0000 (12:23 +0100)
Reported-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_hotplug.c

index bede4e3ccd22af9300b08f923f8c52d7aa77436d..40489b84db416d5d8bf9f6538267d6ae59bdc3f6 100644 (file)
@@ -1674,15 +1674,16 @@ qemuDomainAttachHostPCIDevice(virQEMUDriver *driver,
     if (teardownmemlock && qemuDomainAdjustMaxMemLock(vm) < 0)
         VIR_WARN("Unable to reset maximum locked memory on hotplug fail");
 
-    if (removeiommufd) {
-        qemuDomainObjEnterMonitor(vm);
+    qemuDomainObjEnterMonitor(vm);
+
+    if (removeiommufd)
         ignore_value(qemuMonitorDelObject(priv->mon, "iommufd0", false));
-        qemuDomainObjExitMonitor(vm);
-    }
 
     qemuFDPassDirectTransferMonitorRollback(hostdevPriv->vfioDeviceFd, priv->mon);
     qemuFDPassDirectTransferMonitorRollback(priv->iommufd, priv->mon);
 
+    qemuDomainObjExitMonitor(vm);
+
     if (releaseaddr)
         qemuDomainReleaseDeviceAddress(vm, info);