From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: Igor Mammedov <imammedo@redhat.com>,
Gonglei <arei.gonglei@huawei.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/3] qdev: Use qdev_device_add_get_class() for -device <type>, help
Date: Sat, 01 Nov 2014 17:40:20 +0100 [thread overview]
Message-ID: <54550CF4.3050200@suse.de> (raw)
In-Reply-To: <1414857371-12294-4-git-send-email-ehabkost@redhat.com>
Hi Eduardo,
Am 01.11.2014 um 16:56 schrieb Eduardo Habkost:
> Make sure we try to list properties from classes that can be safely used with
> "-device".
>
> Fixes the following crashes:
>
> $ qemu-system-x86_64 -device x86_64-cpu,help
> **
> ERROR:qom/object.c:336:object_initialize_with_type: assertion failed: (type->abstract == false)
> Aborted (core dumped)
> $ qemu-system-x86_64 -device host-x86_64-cpu,help
> qemu-system-x86_64: [...]/target-i386/cpu.c:1329: host_x86_cpu_initfn: Assertion `(kvm_allowed)' failed.
> Aborted (core dumped)
>
> After applying this patch:
>
> $ qemu-system-x86_64 -device x86_64-cpu,help
> Parameter 'driver' expects non-abstract device type
> $ qemu-system-x86_64 -device host-x86_64-cpu,help
> Parameter 'driver' expects pluggable device type
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> qdev-monitor.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index a9702d8..ebfa701 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -235,12 +235,9 @@ int qdev_device_help(QemuOpts *opts)
> return 0;
> }
>
> - if (!object_class_by_name(driver)) {
> - const char *typename = find_typename_by_alias(driver);
> -
> - if (typename) {
> - driver = typename;
> - }
> + qdev_get_device_class(&driver, &local_err);
> + if (local_err) {
> + goto error;
> }
>
> prop_list = qmp_device_list_properties(driver, &local_err);
Is dc->cannot_instantiate_with_device_add_yet || (qdev_hotplug &&
!dc->hotpluggable) really relevant here? Or should that rather remain
outside the common function in 1/3?
Regards,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2014-11-01 16:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-01 15:56 [Qemu-devel] [PATCH 0/3] qdev: Validate class name for -device <class>, help Eduardo Habkost
2014-11-01 15:56 ` [Qemu-devel] [PATCH 1/3] qdev: Create qdev_get_device_class() function Eduardo Habkost
2014-11-01 16:46 ` Andreas Färber
2014-11-01 17:03 ` Eduardo Habkost
2014-11-01 15:56 ` [Qemu-devel] [PATCH 2/3] qdev: Move error printing to the end of qdev_device_help() Eduardo Habkost
2014-11-01 15:56 ` [Qemu-devel] [PATCH 3/3] qdev: Use qdev_device_add_get_class() for -device <type>, help Eduardo Habkost
2014-11-01 16:40 ` Andreas Färber [this message]
2014-11-01 16:45 ` Eduardo Habkost
2014-11-01 16:48 ` Andreas Färber
2014-11-01 17:22 ` Eduardo Habkost
2014-11-03 15:14 ` [Qemu-devel] [PATCH 0/3] qdev: Validate class name for -device <class>, help Stefan Hajnoczi
2014-11-04 16:51 ` Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54550CF4.3050200@suse.de \
--to=afaerber@suse.de \
--cc=arei.gonglei@huawei.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.