Supersedes: <20240829-memory-v1-1-ac07af2f4fa5@daynix.com>
("[PATCH] docs/devel: Prohibit calling object_unparent() for memory region")
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>
---
Changes in v4:
- Removed Based-on:.
- Restored the examples of VFIOMSIXInfo and VFIOQuirk in
docs/devel/memory.rst.
- Ensured that the timing to call object_unparent() and free memory
regions is mentioned once for each.
- Link to v3: https://lore.kernel.org/qemu-devel/20250917-use-v3-0-72c2a6887c6c@rsg.ci.i.u-tokyo.ac.jp
Changes in v3:
- Added patches to remove other object_unparent() calls in
instance_finalize().
- Dropped patch "qdev: Automatically delete memory subregions" and the
succeeding patches to avoid Ccing many.
- Link to v2: https://lore.kernel.org/qemu-devel/20250915-use-v2-0-f4c7ff13bfe9@rsg.ci.i.u-tokyo.ac.jp
Changes in v2:
- Added a reference to "[PATCH] docs/devel: Prohibit calling
object_unparent() for memory region", which does something similar to
patch "docs/devel: Do not unparent in instance_finalize()" but I
forgot I sent it in the past.
- Fixed a typo in patch
"docs/devel: Do not unparent in instance_finalize()" and
"[PATCH 02/22] vfio/pci: Do not unparent in instance_finalize()".
- Dropped patches to move address_space_init() calls; I intend to
QOM-ify to fix memory leaks automatically as discussed in the
following thread:
https://lore.kernel.org/qemu-devel/cd21698f-db77-eb75-6966-d559fdcab835@eik.bme.hu/
But the QOM-ification will be big so I'll send it as a separate
series.
- Rebased on top of "[PATCH v2 00/14] hw/pci-host/raven clean ups".
https://lore.kernel.org/qemu-devel/cover.1751493467.git.balaton@eik.bme.hu/
- Link to v1: https://lore.kernel.org/qemu-devel/20250906-use-v1-0-c51caafd1eb7@rsg.ci.i.u-tokyo.ac.jp
---
Akihiko Odaki (7):
docs/devel: Do not unparent in instance_finalize()
vfio/pci: Do not unparent in instance_finalize()
hw/core/register: Do not unparent in instance_finalize()
hv-balloon: hw/core/register: Do not unparent in instance_finalize()
hw/sd/sdhci: Do not unparent in instance_finalize()
vfio: Do not unparent in instance_finalize()
hw/xen: Do not unparent in instance_finalize()
docs/devel/memory.rst | 17 ++++++-----------
hw/core/register.c | 1 -
hw/hyperv/hv-balloon.c | 12 +-----------
hw/sd/sdhci.c | 4 ----
hw/vfio/pci-quirks.c | 9 +--------
hw/vfio/pci.c | 4 ----
hw/vfio/region.c | 3 ---
hw/xen/xen_pt_msi.c | 11 +----------
8 files changed, 9 insertions(+), 52 deletions(-)
---
base-commit: ab8008b231e758e03c87c1c483c03afdd9c02e19
change-id: 20250906-use-37ecc903a9e0
Best regards,
--
Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>