While these patches were originally in "part 3" of the RCU patches, it turns out that the semantics they enforce are already important now (reported by Alex Williamson and Matthew Rosato), so here they are!
Patch 1 fixes a MemoryRegion leak (and fixes it the right way, so that the new lifecycle rules are respected!). Patch 2 fixes a case where a memory region could be referenced (in an RCU callback) when it had no parent, similar to the s390 case. Patch 3 documents the MemoryRegion lifecycle rules now that (except for s390, which Matthew is going to fix soon) QEMU actually follows them. Please review and ACK. Michael, okay to apply the first two through the RCU tree? Paolo Paolo Bonzini (3): pcie: remove mmconfig memory leak and wrap mmconfig update with transaction pci: split shpc_cleanup and shpc_free docs: clarify memory region lifecycle docs/memory.txt | 74 +++++++++++++++++++++++++++++++++--------- hw/pci-bridge/pci_bridge_dev.c | 14 +++++--- hw/pci/pcie_host.c | 7 ++-- hw/pci/shpc.c | 5 +++ include/hw/pci/shpc.h | 1 + 5 files changed, 79 insertions(+), 22 deletions(-) -- 1.8.3.1