Based-on: <20250917-use-v3-0-72c2a6887...@rsg.ci.i.u-tokyo.ac.jp> ("[PATCH v3 0/7] Do not unparent in instance_finalize()")
This patch series was spun off from "[PATCH v2 00/15] Fix memory region leaks and use-after-finalization": https://lore.kernel.org/qemu-devel/20250915-use-v2-0-f4c7ff13b...@rsg.ci.i.u-tokyo.ac.jp/ When developing the next version of "[PATCH 00/16] memory: Stop piggybacking on memory region owners*", I faced multiple memory region leaks and use-after-finalization. This series extracts their fixes so that the number of Cc: won't explode. Patch "qdev: Automatically delete memory subregions" and the succeeding patches are for refactoring, but patch "vfio-user: Do not delete the subregion" does fix use-after-finalization. * https://lore.kernel.org/qemu-devel/20250901-mr-v1-0-dd7cb6b14...@rsg.ci.i.u-tokyo.ac.jp/ Signed-off-by: Akihiko Odaki <od...@rsg.ci.i.u-tokyo.ac.jp> --- Akihiko Odaki (14): hw/pci-bridge: Do not assume immediate MemoryRegion finalization qdev: Automatically delete memory subregions vfio-user: Do not delete the subregion hw/char/diva-gsp: Do not delete the subregion hw/char/serial-pci-multi: Do not delete the subregion secondary-vga: Do not delete the subregions cmd646: Do not delete the subregions hw/ide/piix: Do not delete the subregions hw/ide/via: Do not delete the subregions hw/nvme: Do not delete the subregion pci: Do not delete the subregions hw/ppc/spapr_pci: Do not delete the subregions hw/usb/hcd-ehci: Do not delete the subregions hw/usb/hcd-xhci: Do not delete the subregions MAINTAINERS | 1 + include/hw/pci/pci.h | 1 + include/hw/qdev-core.h | 1 + hw/char/diva-gsp.c | 1 - hw/char/serial-pci-multi.c | 1 - hw/core/qdev.c | 14 +++++++ hw/display/vga-pci.c | 8 ---- hw/ide/cmd646.c | 12 ------ hw/ide/piix.c | 13 ------- hw/ide/via.c | 12 ------ hw/nvme/ctrl.c | 2 - hw/pci/pci.c | 22 +---------- hw/pci/pci_bridge.c | 96 +++++++++++++++++++++++++--------------------- hw/ppc/spapr_pci.c | 22 ----------- hw/usb/hcd-ehci.c | 4 -- hw/usb/hcd-xhci.c | 10 ----- hw/vfio-user/pci.c | 6 --- stubs/memory.c | 9 +++++ stubs/meson.build | 1 + 19 files changed, 80 insertions(+), 156 deletions(-) --- base-commit: e101d33792530093fa0b0a6e5f43e4d8cfe4581e change-id: 20250917-subregion-907ced7da1ed prerequisite-change-id: 20250906-use-37ecc903a9e0:v3 prerequisite-patch-id: d464fda86a3c79ff8e6d7a2e623d979b2a47019b prerequisite-patch-id: 17b153237f69c898b9c5b93aad0d5116d0bfe49f prerequisite-patch-id: ac51d9c4ac483054ee91cecbb5575def67dbb602 prerequisite-patch-id: 205aa86c0ef087c97dbcf736062661a45c287bf3 prerequisite-patch-id: 26e18a249afaf9cd1b72961f9e2e3ebf97966a3c prerequisite-patch-id: d3e0b87f84a216e05bd4aa3dee8ae77cf9df062a prerequisite-patch-id: 510a59304274e1bc35f8fbe77c91fc2f32a2f087 Best regards, -- Akihiko Odaki <od...@rsg.ci.i.u-tokyo.ac.jp>