diff options
| author | Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> | 2025-09-24 13:37:26 +0900 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-09-24 09:23:20 +0200 |
| commit | 46a8624fa7d116989389867f534b07ee562ebb1e (patch) | |
| tree | 29a9be5b16458b733ca5d0bad7f040e2cd32c846 /hw/xen/xen_pt_msi.c | |
| parent | 9b80f8a8e758b427501e6bcbcb114ae45ff68387 (diff) | |
| download | focaccia-qemu-46a8624fa7d116989389867f534b07ee562ebb1e.tar.gz focaccia-qemu-46a8624fa7d116989389867f534b07ee562ebb1e.zip | |
hw/xen: Do not unparent in instance_finalize()
Children are automatically unparented so manually unparenting is unnecessary. Worse, automatic unparenting happens before the instance_finalize() callback of the parent gets called, so object_unparent() calls in the callback will refer to objects that are already unparented, which is semantically incorrect. Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Link: https://lore.kernel.org/r/20250924-use-v4-7-07c6c598f53d@rsg.ci.i.u-tokyo.ac.jp Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/xen/xen_pt_msi.c')
| -rw-r--r-- | hw/xen/xen_pt_msi.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c index 09cca4eecb..e9ba17317a 100644 --- a/hw/xen/xen_pt_msi.c +++ b/hw/xen/xen_pt_msi.c @@ -637,14 +637,5 @@ void xen_pt_msix_unmap(XenPCIPassthroughState *s) void xen_pt_msix_delete(XenPCIPassthroughState *s) { - XenPTMSIX *msix = s->msix; - - if (!msix) { - return; - } - - object_unparent(OBJECT(&msix->mmio)); - - g_free(s->msix); - s->msix = NULL; + g_clear_pointer(&s->msix, g_free); } |