qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
@ 2014-04-10 18:47 Cole Robinson
  2014-04-10 19:08 ` Marcel Apfelbaum
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Cole Robinson @ 2014-04-10 18:47 UTC (permalink / raw)
  To: qemu-devel
  Cc: Cole Robinson, m.gibula, Andreas Färber, Stefan Hajnoczi,
	Marcel Apfelbaum

Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
'opaque' for link properties, but missed updating this call site.
Reproducer:

./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
./scripts/qmp/qmp-shell ./qmp.sock
(QEMU) qom-list path=//machine/i440fx/pci.0/child[2]

Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
 qom/object.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/qom/object.c b/qom/object.c
index f4de619..9a730e7 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1225,7 +1225,8 @@ Object *object_resolve_path_component(Object *parent, const gchar *part)
     }
 
     if (object_property_is_link(prop)) {
-        return *(Object **)prop->opaque;
+        LinkProperty *lprop = prop->opaque;
+        return *lprop->child;
     } else if (object_property_is_child(prop)) {
         return prop->opaque;
     } else {
-- 
1.9.0

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

* Re: [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
  2014-04-10 18:47 [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties Cole Robinson
@ 2014-04-10 19:08 ` Marcel Apfelbaum
  2014-04-11 16:38 ` Peter Maydell
  2014-04-11 16:57 ` Andreas Färber
  2 siblings, 0 replies; 7+ messages in thread
From: Marcel Apfelbaum @ 2014-04-10 19:08 UTC (permalink / raw)
  To: Cole Robinson
  Cc: Marcin Gibuła, qemu-devel, Stefan Hajnoczi,
	Andreas Färber

On Thu, 2014-04-10 at 14:47 -0400, Cole Robinson wrote:
> Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
> 'opaque' for link properties, but missed updating this call site.
> Reproducer:
> 
> ./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
> ./scripts/qmp/qmp-shell ./qmp.sock
> (QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
> 
> Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
> Signed-off-by: Cole Robinson <crobinso@redhat.com>
> ---
>  qom/object.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/qom/object.c b/qom/object.c
> index f4de619..9a730e7 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1225,7 +1225,8 @@ Object *object_resolve_path_component(Object *parent, const gchar *part)
>      }
>  
>      if (object_property_is_link(prop)) {
> -        return *(Object **)prop->opaque;
> +        LinkProperty *lprop = prop->opaque;
> +        return *lprop->child;

Reviewed-by: Marcel Apfelbaum <marcel.a@redhat.com>

You may want another review from maintainers :), but I think
the fix is fine.

Thanks,
Marcel

>      } else if (object_property_is_child(prop)) {
>          return prop->opaque;
>      } else {

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

* Re: [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
  2014-04-10 18:47 [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties Cole Robinson
  2014-04-10 19:08 ` Marcel Apfelbaum
@ 2014-04-11 16:38 ` Peter Maydell
  2014-04-11 16:57 ` Andreas Färber
  2 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2014-04-11 16:38 UTC (permalink / raw)
  To: Cole Robinson
  Cc: Marcel Apfelbaum, m.gibula, QEMU Developers, Stefan Hajnoczi,
	Andreas Färber

On 10 April 2014 19:47, Cole Robinson <crobinso@redhat.com> wrote:
> Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
> 'opaque' for link properties, but missed updating this call site.
> Reproducer:
>
> ./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
> ./scripts/qmp/qmp-shell ./qmp.sock
> (QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
>
> Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
> Signed-off-by: Cole Robinson <crobinso@redhat.com>
> ---
>  qom/object.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/qom/object.c b/qom/object.c
> index f4de619..9a730e7 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1225,7 +1225,8 @@ Object *object_resolve_path_component(Object *parent, const gchar *part)
>      }
>
>      if (object_property_is_link(prop)) {
> -        return *(Object **)prop->opaque;
> +        LinkProperty *lprop = prop->opaque;
> +        return *lprop->child;
>      } else if (object_property_is_child(prop)) {
>          return prop->opaque;
>      } else {
> --
> 1.9.0

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

-- PMM

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

* Re: [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
  2014-04-10 18:47 [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties Cole Robinson
  2014-04-10 19:08 ` Marcel Apfelbaum
  2014-04-11 16:38 ` Peter Maydell
@ 2014-04-11 16:57 ` Andreas Färber
  2014-04-11 17:05   ` Cole Robinson
  2014-04-11 17:05   ` Peter Maydell
  2 siblings, 2 replies; 7+ messages in thread
From: Andreas Färber @ 2014-04-11 16:57 UTC (permalink / raw)
  To: Cole Robinson, qemu-devel, Peter Maydell
  Cc: m.gibula, Stefan Hajnoczi, Marcel Apfelbaum

Am 10.04.2014 20:47, schrieb Cole Robinson:
> Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
> 'opaque' for link properties, but missed updating this call site.
> Reproducer:
> 
> ./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
> ./scripts/qmp/qmp-shell ./qmp.sock
> (QEMU) qom-list path=//machine/i440fx/pci.0/child[2]

I would much prefer if we could give the path as just
path=/machine/i440fx/pci.0/child[2] (without double slash). Peter can
you improve when applying?

> 
> Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
> Signed-off-by: Cole Robinson <crobinso@redhat.com>
> ---
>  qom/object.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Andreas Färber <afaerber@suse.de>

I would like to remark that specifically for regression-testing link<>
properties I had extended qom-test, and it succeeds currently. So Cole,
if you have any suggestion on how to extend it to catch this regression
that would be welcome.

Thanks,
Andreas

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

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

* Re: [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
  2014-04-11 16:57 ` Andreas Färber
@ 2014-04-11 17:05   ` Cole Robinson
  2014-04-11 17:12     ` Andreas Färber
  2014-04-11 17:05   ` Peter Maydell
  1 sibling, 1 reply; 7+ messages in thread
From: Cole Robinson @ 2014-04-11 17:05 UTC (permalink / raw)
  To: Andreas Färber, qemu-devel, Peter Maydell
  Cc: m.gibula, Stefan Hajnoczi, Marcel Apfelbaum

On 04/11/2014 12:57 PM, Andreas Färber wrote:
> Am 10.04.2014 20:47, schrieb Cole Robinson:
>> Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
>> 'opaque' for link properties, but missed updating this call site.
>> Reproducer:
>>
>> ./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
>> ./scripts/qmp/qmp-shell ./qmp.sock
>> (QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
> 
> I would much prefer if we could give the path as just
> path=/machine/i440fx/pci.0/child[2] (without double slash). Peter can
> you improve when applying?
> 
>>
>> Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
>> Signed-off-by: Cole Robinson <crobinso@redhat.com>
>> ---
>>  qom/object.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> Reviewed-by: Andreas Färber <afaerber@suse.de>
> 
> I would like to remark that specifically for regression-testing link<>
> properties I had extended qom-test, and it succeeds currently. So Cole,
> if you have any suggestion on how to extend it to catch this regression
> that would be welcome.
> 

I haven't looked closely at tests/, I see *qmp*.c files, but is there
infrastructure for running qmp commands? If so we could turn the above
reproducer into a test case.

- Cole

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

* Re: [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
  2014-04-11 16:57 ` Andreas Färber
  2014-04-11 17:05   ` Cole Robinson
@ 2014-04-11 17:05   ` Peter Maydell
  1 sibling, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2014-04-11 17:05 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Marcel Apfelbaum, m.gibula, QEMU Developers, Stefan Hajnoczi,
	Cole Robinson

On 11 April 2014 17:57, Andreas Färber <afaerber@suse.de> wrote:
> Am 10.04.2014 20:47, schrieb Cole Robinson:
>> Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
>> 'opaque' for link properties, but missed updating this call site.
>> Reproducer:
>>
>> ./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
>> ./scripts/qmp/qmp-shell ./qmp.sock
>> (QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
>
> I would much prefer if we could give the path as just
> path=/machine/i440fx/pci.0/child[2] (without double slash). Peter can
> you improve when applying?

Sorry, had already pushed before I read this.


>>
>> Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
>> Signed-off-by: Cole Robinson <crobinso@redhat.com>
>> ---
>>  qom/object.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> Reviewed-by: Andreas Färber <afaerber@suse.de>
>
> I would like to remark that specifically for regression-testing link<>
> properties I had extended qom-test, and it succeeds currently. So Cole,
> if you have any suggestion on how to extend it to catch this regression
> that would be welcome.

Applied, thanks.

-- PMM

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

* Re: [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties
  2014-04-11 17:05   ` Cole Robinson
@ 2014-04-11 17:12     ` Andreas Färber
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2014-04-11 17:12 UTC (permalink / raw)
  To: Cole Robinson, qemu-devel
  Cc: Peter Maydell, m.gibula, Stefan Hajnoczi, Marcel Apfelbaum

Am 11.04.2014 19:05, schrieb Cole Robinson:
> On 04/11/2014 12:57 PM, Andreas Färber wrote:
>> Am 10.04.2014 20:47, schrieb Cole Robinson:
>>> Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
>>> 'opaque' for link properties, but missed updating this call site.
>>> Reproducer:
>>>
>>> ./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
>>> ./scripts/qmp/qmp-shell ./qmp.sock
>>> (QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
>>
>> I would much prefer if we could give the path as just
>> path=/machine/i440fx/pci.0/child[2] (without double slash). Peter can
>> you improve when applying?
>>
>>>
>>> Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
>>> Signed-off-by: Cole Robinson <crobinso@redhat.com>
>>> ---
>>>  qom/object.c | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> Reviewed-by: Andreas Färber <afaerber@suse.de>
>>
>> I would like to remark that specifically for regression-testing link<>
>> properties I had extended qom-test, and it succeeds currently. So Cole,
>> if you have any suggestion on how to extend it to catch this regression
>> that would be welcome.
>>
> 
> I haven't looked closely at tests/, I see *qmp*.c files, but is there
> infrastructure for running qmp commands? If so we could turn the above
> reproducer into a test case.

Please see the mentioned tests/qom-test.c, it is already doing qom-list
+ qom-get for all properties - therefore wondering why we didn't catch this.

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

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

end of thread, other threads:[~2014-04-11 17:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-10 18:47 [Qemu-devel] [PATCH for-2.0] qom: Fix crash with qom-list and link properties Cole Robinson
2014-04-10 19:08 ` Marcel Apfelbaum
2014-04-11 16:38 ` Peter Maydell
2014-04-11 16:57 ` Andreas Färber
2014-04-11 17:05   ` Cole Robinson
2014-04-11 17:12     ` Andreas Färber
2014-04-11 17:05   ` Peter Maydell

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).