Re: [PATCH v6 4/5] hisi_acc_vfio_pci: bugfix the problem of uninstalling driver

From: liulongfang
Date: Fri Mar 28 2025 - 04:07:10 EST


On 2025/3/21 23:51, Alex Williamson wrote:
> On Tue, 18 Mar 2025 14:45:47 +0800
> Longfang Liu <liulongfang@xxxxxxxxxx> wrote:
>
>> In a live migration scenario. If the number of VFs at the
>> destination is greater than the source, the recovery operation
>> will fail and qemu will not be able to complete the process and
>> exit after shutting down the device FD.
>>
>> This will cause the driver to be unable to be unloaded normally due
>> to abnormal reference counting of the live migration driver caused
>> by the abnormal closing operation of fd.
>
> "Therefore, make sure the migration file descriptor references are
> always released when the device is closed."
>
> The commit log identifies the problem, but it's generally also useful
> to describe the resolution of the problem as well. Thanks,
>

Okay, I will add these descriptions in the next release patchset.

Thanks.
Longfang.

> Alex
>
>> Fixes: b0eed085903e ("hisi_acc_vfio_pci: Add support for VFIO live migration")
>> Signed-off-by: Longfang Liu <liulongfang@xxxxxxxxxx>
>> Reviewed-by: Shameer Kolothum <shameerali.kolothum.thodi@xxxxxxxxxx>
>> ---
>> drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
>> index d96446f499ed..cadc82419dca 100644
>> --- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
>> +++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
>> @@ -1508,6 +1508,7 @@ static void hisi_acc_vfio_pci_close_device(struct vfio_device *core_vdev)
>> struct hisi_acc_vf_core_device *hisi_acc_vdev = hisi_acc_get_vf_dev(core_vdev);
>> struct hisi_qm *vf_qm = &hisi_acc_vdev->vf_qm;
>>
>> + hisi_acc_vf_disable_fds(hisi_acc_vdev);
>> mutex_lock(&hisi_acc_vdev->open_mutex);
>> hisi_acc_vdev->dev_opened = false;
>> iounmap(vf_qm->io_base);
>
>
> .
>