From: Daniel P. Berrange Date: Mon, 28 Oct 2013 14:07:26 +0000 (+0000) Subject: Don't update dom->persistent without lock held X-Git-Tag: v1.1.3.1~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9311f8c6f359bfda01f5e23d0132cdbb623e1bcf;p=thirdparty%2Flibvirt.git Don't update dom->persistent without lock held virDomainObjListLoadAllConfigs sets dom->persistent after having released its lock on the domain object. This exposes a possible race condition. Signed-off-by: Daniel P. Berrange (cherry picked from commit b260a77e34ed93f1b4f4f6436435cf5955e3f4b8) --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c51cd11b9d..53889e0e04 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -17343,9 +17343,9 @@ virDomainObjListLoadAllConfigs(virDomainObjListPtr doms, notify, opaque); if (dom) { - virObjectUnlock(dom); if (!liveStatus) dom->persistent = 1; + virObjectUnlock(dom); } }