]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: migration: Unlock vm on failed ACL check in protocol v2 APIs
authorPeter Krempa <pkrempa@redhat.com>
Mon, 8 Dec 2014 18:25:21 +0000 (19:25 +0100)
committerEric Blake <eblake@redhat.com>
Mon, 22 Dec 2014 23:18:49 +0000 (16:18 -0700)
Avoid leaving the domain locked on a failed ACL check in
qemuDomainMigratePerform() and qemuDomainMigrateFinish2().

Introduced in commit abf75aea247e (Add ACL checks into the QEMU driver).

(cherry picked from commit 2bdcd29c713dfedd813c89f56ae98f6f3898313d)

src/qemu/qemu_driver.c

index cb3d40f482004172f837d89e9acb0a2ad41a54be..1d28dd493595de489edf82e127d467ad7910ee20 100644 (file)
@@ -11018,8 +11018,10 @@ qemuDomainMigratePerform(virDomainPtr dom,
     if (!(vm = qemuDomObjFromDomain(dom)))
         goto cleanup;
 
-    if (virDomainMigratePerformEnsureACL(dom->conn, vm->def) < 0)
+    if (virDomainMigratePerformEnsureACL(dom->conn, vm->def) < 0) {
+        virObjectUnlock(vm);
         goto cleanup;
+    }
 
     if (flags & VIR_MIGRATE_PEER2PEER) {
         dconnuri = uri;
@@ -11066,8 +11068,10 @@ qemuDomainMigrateFinish2(virConnectPtr dconn,
         goto cleanup;
     }
 
-    if (virDomainMigrateFinish2EnsureACL(dconn, vm->def) < 0)
+    if (virDomainMigrateFinish2EnsureACL(dconn, vm->def) < 0) {
+        virObjectUnlock(vm);
         goto cleanup;
+    }
 
     /* Do not use cookies in v2 protocol, since the cookie
      * length was not sufficiently large, causing failures