From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6M5i-0002xH-1b for qemu-devel@nongnu.org; Sat, 10 Mar 2012 08:12:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S6M5g-0000tZ-9V for qemu-devel@nongnu.org; Sat, 10 Mar 2012 08:12:09 -0500 Received: from cantor2.suse.de ([195.135.220.15]:57581 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6M5g-0000tP-3U for qemu-devel@nongnu.org; Sat, 10 Mar 2012 08:12:08 -0500 Message-ID: <4F5B5325.2000103@suse.de> Date: Sat, 10 Mar 2012 14:12:05 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1330419255-5566-1-git-send-email-pbonzini@redhat.com> <1330419255-5566-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1330419255-5566-3-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 2/2] qom: fix device hot-unplug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, "Michael S. Tsirkin" Am 28.02.2012 09:54, schrieb Paolo Bonzini: > Property removal modifies the list, so it is not safe to continue > iteration. We know anyway that each object can have only one > parent (see object_property_add_child), so exit after finding > the requested object. >=20 > Reported-by: Michael S. Tsirkin > Signed-off-by: Paolo Bonzini > --- > qom/object.c | 7 ++----- > 1 files changed, 2 insertions(+), 5 deletions(-) >=20 > diff --git a/qom/object.c b/qom/object.c > index aa037d2..39cbcb9 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -304,12 +304,9 @@ static void object_property_del_child(Object *obj,= Object *child, Error **errp) > ObjectProperty *prop; > =20 > QTAILQ_FOREACH(prop, &obj->properties, node) { > - if (!strstart(prop->type, "child<", NULL)) { > - continue; > - } > - > - if (prop->opaque =3D=3D child) { > + if (strstart(prop->type, "child<", NULL) && prop->opaque =3D=3D= child) { Didn't someone post a patch introducing an object_property_is_child() or so? Would be handy here. Otherwise looks okay. Andreas > object_property_del(obj, prop->name, errp); > + break; > } > } > } --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg