Hi Cédric,

On 7/16/24 16:02, Cédric Le Goater wrote:
> On 7/16/24 11:45, Eric Auger wrote:
>> 1b889d6e39c3 ("virtio-iommu: Clear IOMMUDevice when VFIO
>> device is unplugged" fixes the VFIO hotplug/hotunplug/hotplug
>> sequence by clearing the IOMMUDevice which backs the VFIO device.
>> However this brings other troubles such as a memory corruption.
>>
>> Even when fixing some cleanups that were missed on the first
>> attempt the memory corruption still exists if the IOMMUDevice is
>> freed. Until we understand the exact cause let's make things simpler:
>> let the backing IOMMUDevice survive the unplug as what is done
>> on intel iommu for instance. Clean up/reset resources that would
>> prevent the device from being hotplugged again (probe_done is removed,
>> [host_]resv_regions are reset). By doing this we also rule out the
>> use case of aliased BDFs which is known to be not functional with
>> virtio-iommu (missing guest kernel support) and the virtio-iommu device
>> implementation is not ready either.
>>
>> This series can be found at:
>> https://github.com/eauger/qemu/tree/virtio_iommu_device_clear_fixes_v1
>>
>>
>> Eric Auger (6):
>>    Revert "virtio-iommu: Clear IOMMUDevice when VFIO device is
>> unplugged"
>>    virtio-iommu: Remove probe_done
>>    virtio-iommu: Free [host_]resv_ranges on unset_iommu_devices
>>    virtio-iommu: Remove the end point on detach
>>    hw/vfio/common: Add vfio_listener_region_del_iommu trace event
>>    virtio-iommu: Add trace point on
>>      virtio_iommu_detach_endpoint_from_domain
>>
>>   include/hw/virtio/virtio-iommu.h |  1 -
>>   hw/vfio/common.c                 |  3 +-
>>   hw/virtio/virtio-iommu.c         | 88 +++++++++++---------------------
>>   hw/vfio/trace-events             |  3 +-
>>   hw/virtio/trace-events           |  1 +
>>   5 files changed, 35 insertions(+), 61 deletions(-)
>>
>
>
> Tested-by: Cédric Le Goater <c...@redhat.com>
>
> with a vfio-pci device (mlx5 VF) and a virtio-net-pci device.

Many Thanks!

Eric
>
> Thanks,
>
> C.
>


Reply via email to