]> xenbits.xensource.com Git - 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)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 9 Dec 2014 09:10:24 +0000 (10:10 +0100)
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).

src/qemu/qemu_driver.c

index dc62a75df7ef173b3f09a9947a2aebd065e092e1..be37c8f12bd75b4bcbd7b01839db1f7fe0d6bba7 100644 (file)
@@ -11415,8 +11415,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;
@@ -11463,8 +11465,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