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