From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49646) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vm4Bc-0005eQ-Ev for qemu-devel@nongnu.org; Thu, 28 Nov 2013 11:11:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vm4BW-0006j9-A5 for qemu-devel@nongnu.org; Thu, 28 Nov 2013 11:11:28 -0500 Message-ID: <52976B26.1030501@suse.de> Date: Thu, 28 Nov 2013 17:11:18 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1385654544-1774-1-git-send-email-armbru@redhat.com> In-Reply-To: <1385654544-1774-1-git-send-email-armbru@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: armbru@redhat.com, qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, aliguori@amazon.com Am 28.11.2013 17:02, schrieb armbru@redhat.com: > From: Markus Armbruster >=20 > Watch this: >=20 > $ upstream-qemu -nodefaults -S -display none -monitor stdio > QEMU 1.7.50 monitor - type 'help' for more information > (qemu) device_add rng-egd > /work/armbru/qemu/qdev-monitor.c:491:qdev_device_add: Object 0x2089= b00 is not an instance of type device > Aborted (core dumped) >=20 > Crashes because "rng-egd" exists, but isn't a subtype of TYPE_DEVICE. > Broken in commit 18b6dad. Thanks for catching this! >=20 > Cc: qemu-stable@nongnu.org > Signed-off-by: Markus Armbruster > --- > qdev-monitor.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/qdev-monitor.c b/qdev-monitor.c > index dc37a43..90a0cea 100644 > --- a/qdev-monitor.c > +++ b/qdev-monitor.c > @@ -477,7 +477,7 @@ DeviceState *qdev_device_add(QemuOpts *opts) > } > } > =20 > - if (!oc) { > + if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) { Are you sure we don't need !oc || !object_class_dynamic_cast(oc, ...)? Regards, Andreas > qerror_report(QERR_INVALID_PARAMETER_VALUE, "driver", "device = type"); > return NULL; > } >=20 --=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