qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Avoid segmentation fault for qdev device not found
@ 2011-05-12 12:55 Glauber Costa
  2011-05-13  8:41 ` Markus Armbruster
  0 siblings, 1 reply; 2+ messages in thread
From: Glauber Costa @ 2011-05-12 12:55 UTC (permalink / raw)
  To: kvm; +Cc: aliguori, mtosatti, qemu-devel, avi

qdev_try_create will cope well with a NULL bus, since it will assume
the main system bus by default. qdev_create, however, wants to print
a message, in which it instantiates the bus name. That simple and at
first inoffensive message will generate a segmentation found if the
reason for failure is a NULL bus.

I propose we avoid that - thus generating the normal hw_error by
always passing a valid bus to qdev_try_create - if none, be it the
main system bus.

The code for testing a NULL bus is not remove from qdev_try_create
because it is a externally visible function, and we want it to continue
working fine.

Signed-off-by: Glauber Costa <glommer@redhat.com>
---
 hw/qdev.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/hw/qdev.c b/hw/qdev.c
index 1aa1ea0..21ef075 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -108,6 +108,10 @@ DeviceState *qdev_create(BusState *bus, const char *name)
 {
     DeviceState *dev;
 
+    if (!bus) {
+        bus = sysbus_get_default();
+    }
+
     dev = qdev_try_create(bus, name);
     if (!dev) {
         hw_error("Unknown device '%s' for bus '%s'\n", name, bus->info->name);
-- 
1.7.4.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-05-13  8:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-12 12:55 [Qemu-devel] [PATCH] Avoid segmentation fault for qdev device not found Glauber Costa
2011-05-13  8:41 ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).