Mostly the same as v2; - patch 1 makes the error paths of vfio_get_device a bit simpler
- patch 2 introduces instance_finalize - patch 3 makes the freeing of BARs RCU-friendly Changes from v2: 1) not removing anymore the NULL assignment in vfio_put_base_device 2) patch 1 should "goto out_put" if vfio_populate_device fails (later changed to "return ret" in patch 2). The final code doesn't change; this only matters for bisectability (and even then only in a corner case). Thanks, Paolo Paolo Bonzini (3): vfio: cleanup vfio_get_device error path, remove vfio_populate_device callback vfio: free dynamically-allocated data in instance_finalize vfio: unmap and free BAR data in instance_finalize hw/vfio/common.c | 36 ++++++++-------- hw/vfio/pci.c | 96 ++++++++++++++++++++++++++++++++++--------- include/hw/vfio/vfio-common.h | 1 - 3 files changed, 92 insertions(+), 41 deletions(-) -- 1.8.3.1