[libvirt] [PATCH 1.5/6] conf: net: Fix deadlock if assignment of network def fails

Peter Krempa pkrempa at redhat.com
Fri Oct 26 12:55:49 UTC 2012


When the assignment fails, the network object is not unlocked and next
call that would use it deadlocks.
---
 src/conf/network_conf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 93d1b4c..1955853 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -295,6 +295,7 @@ virNetworkAssignDef(virNetworkObjListPtr nets,

     if ((network = virNetworkFindByName(nets, def->name))) {
         if (virNetworkObjAssignDef(network, def, live) < 0) {
+            virNetworkObjUnlock(network);
             return NULL;
         }
         return network;
-- 
1.7.12.4




More information about the libvir-list mailing list