Re: [Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix

2013-12-18 Thread Markus Armbruster
Ping?

arm...@redhat.com writes:

 From: Markus Armbruster arm...@redhat.com

 Watch this:

 $ 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 0x2089b00 is 
 not an instance of type device
 Aborted (core dumped)

 Crashes because rng-egd exists, but isn't a subtype of TYPE_DEVICE.
 Broken in commit 18b6dad.

 Cc: qemu-sta...@nongnu.org
 Signed-off-by: Markus Armbruster arm...@redhat.com
 ---
  qdev-monitor.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 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)
  }
  }
  
 -if (!oc) {
 +if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) {
  qerror_report(QERR_INVALID_PARAMETER_VALUE, driver, device type);
  return NULL;
  }



Re: [Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix

2013-12-18 Thread Andreas Färber
Am 18.12.2013 15:54, schrieb Markus Armbruster:
 Ping?

Already queued on qom-next:
https://github.com/afaerber/qemu-cpu/commits/qom-next

Sorry, did the patch processing offline on a train. ;)

Thanks,
Andreas

 arm...@redhat.com writes:
 
 From: Markus Armbruster arm...@redhat.com

 Watch this:

 $ 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 0x2089b00 
 is not an instance of type device
 Aborted (core dumped)

 Crashes because rng-egd exists, but isn't a subtype of TYPE_DEVICE.
 Broken in commit 18b6dad.

 Cc: qemu-sta...@nongnu.org
 Signed-off-by: Markus Armbruster arm...@redhat.com
 ---
  qdev-monitor.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 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)
  }
  }
  
 -if (!oc) {
 +if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) {
  qerror_report(QERR_INVALID_PARAMETER_VALUE, driver, device 
 type);
  return NULL;
  }
 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



Re: [Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix

2013-12-18 Thread Markus Armbruster
Andreas Färber afaer...@suse.de writes:

 Am 18.12.2013 15:54, schrieb Markus Armbruster:
 Ping?

 Already queued on qom-next:
 https://github.com/afaerber/qemu-cpu/commits/qom-next

 Sorry, did the patch processing offline on a train. ;)

No problem  thanks!



Re: [Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix

2013-11-28 Thread Andreas Färber
Am 28.11.2013 17:02, schrieb arm...@redhat.com:
 From: Markus Armbruster arm...@redhat.com
 
 Watch this:
 
 $ 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 0x2089b00 is 
 not an instance of type device
 Aborted (core dumped)
 
 Crashes because rng-egd exists, but isn't a subtype of TYPE_DEVICE.
 Broken in commit 18b6dad.

Thanks for catching this!

 
 Cc: qemu-sta...@nongnu.org
 Signed-off-by: Markus Armbruster arm...@redhat.com
 ---
  qdev-monitor.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 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)
  }
  }
  
 -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;
  }
 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



[Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix

2013-11-28 Thread armbru
From: Markus Armbruster arm...@redhat.com

Watch this:

$ 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 0x2089b00 is 
not an instance of type device
Aborted (core dumped)

Crashes because rng-egd exists, but isn't a subtype of TYPE_DEVICE.
Broken in commit 18b6dad.

Cc: qemu-sta...@nongnu.org
Signed-off-by: Markus Armbruster arm...@redhat.com
---
 qdev-monitor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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)
 }
 }
 
-if (!oc) {
+if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) {
 qerror_report(QERR_INVALID_PARAMETER_VALUE, driver, device type);
 return NULL;
 }
-- 
1.8.1.4




Re: [Qemu-devel] [PATCH] qdev-monitor: device_add crashes on non-device driver name, fix

2013-11-28 Thread Markus Armbruster
Andreas Färber afaer...@suse.de writes:

 Am 28.11.2013 17:02, schrieb arm...@redhat.com:
 From: Markus Armbruster arm...@redhat.com
 
 Watch this:
 
 $ 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
 0x2089b00 is not an instance of type device
 Aborted (core dumped)
 
 Crashes because rng-egd exists, but isn't a subtype of TYPE_DEVICE.
 Broken in commit 18b6dad.

 Thanks for catching this!

 
 Cc: qemu-sta...@nongnu.org
 Signed-off-by: Markus Armbruster arm...@redhat.com
 ---
  qdev-monitor.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 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)
  }
  }
  
 -if (!oc) {
 +if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) {

 Are you sure we don't need !oc || !object_class_dynamic_cast(oc, ...)?

Yes.  First thing object_class_dynamic_cast() does is

if (!class) {
return NULL;
}

Makes sense to me.

[...]