From nobody Wed May 14 11:54:10 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1522672108753500.7055647198056; Mon, 2 Apr 2018 05:28:28 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EA2A57E9D2; Mon, 2 Apr 2018 12:28:26 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BDD0E5C261; Mon, 2 Apr 2018 12:28:26 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 6B9B6180BAD4; Mon, 2 Apr 2018 12:28:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w32CRve7031432 for ; Mon, 2 Apr 2018 08:27:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 795FA5D753; Mon, 2 Apr 2018 12:27:57 +0000 (UTC) Received: from unknown54ee7586bd10.attlocal.net.com (ovpn-116-52.phx2.redhat.com [10.3.116.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3B8185D70B for ; Mon, 2 Apr 2018 12:27:57 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Mon, 2 Apr 2018 08:27:51 -0400 Message-Id: <20180402122751.24574-4-jferlan@redhat.com> In-Reply-To: <20180402122751.24574-1-jferlan@redhat.com> References: <20180402122751.24574-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 3/3] test: Need to relock afer virDomainObjListRemove X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 02 Apr 2018 12:28:27 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" For all @dom's fetched from a testDomObjFromDomain because virDomainObjListRemove will return an unlocked domain object we should relock it prior to the cleanup label which will use virDomainObjEndAPI which would Unlock and Unref the passed object (and we should avoid unlocking an unlocked object). Signed-off-by: John Ferlan Reviewed-by: Marc Hartmayer --- src/test/test_driver.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 3c01aa50e1..5e39ae574c 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1802,8 +1802,10 @@ static int testDomainDestroyFlags(virDomainPtr domai= n, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_DESTROYED); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; cleanup: @@ -1901,8 +1903,10 @@ static int testDomainShutdownFlags(virDomainPtr doma= in, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; cleanup: @@ -1971,8 +1975,10 @@ static int testDomainReboot(virDomainPtr domain, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN= ); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } } =20 ret =3D 0; @@ -2110,8 +2116,10 @@ testDomainSaveFlags(virDomainPtr domain, const char = *path, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_SAVED); =20 - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; cleanup: @@ -2296,8 +2304,10 @@ static int testDomainCoreDumpWithFormat(virDomainPtr= domain, event =3D virDomainEventLifecycleNewFromObj(privdom, VIR_DOMAIN_EVENT_STOPPED, VIR_DOMAIN_EVENT_STOPPED_CRASHED); - if (!privdom->persistent) + if (!privdom->persistent) { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } } =20 ret =3D 0; @@ -3076,10 +3086,12 @@ static int testDomainUndefineFlags(virDomainPtr dom= ain, VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); privdom->hasManagedSave =3D false; =20 - if (virDomainObjIsActive(privdom)) + if (virDomainObjIsActive(privdom)) { privdom->persistent =3D 0; - else + } else { virDomainObjListRemove(privconn->domains, privdom); + virObjectLock(privdom); + } =20 ret =3D 0; =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list