From: Frank Blaschka <blasc...@linux.vnet.ibm.com> Depending on the device, container->space->as contains the valid AddressSpace. Using address_space_memory breaks devices sitting behind an iommu (and using a separate address space).
Signed-off-by: Frank Blaschka <blasc...@linux.vnet.ibm.com> Signed-off-by: Alex Williamson <alex.william...@redhat.com> --- hw/misc/vfio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c index 6c36c8b..51844cf 100644 --- a/hw/misc/vfio.c +++ b/hw/misc/vfio.c @@ -3713,7 +3713,7 @@ static int vfio_connect_container(VFIOGroup *group, AddressSpace *as) container->iommu_data.release = vfio_listener_release; memory_listener_register(&container->iommu_data.type1.listener, - &address_space_memory); + container->space->as); if (container->iommu_data.type1.error) { ret = container->iommu_data.type1.error;