Re: [PATCH v8 7/9] vfio/pci: Clean up BAR zap and revocation

From: Alex Williamson

Date: Tue Oct 13 2026 - 19:15:54 EST


On Tue, 6 Oct 2026 20:36:35 +0100
Matt Evans <matt@xxxxxxxxxx> wrote:
> diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
> index cb0e4865d110..986852b1d44f 100644
> --- a/drivers/vfio/pci/vfio_pci_core.c
> +++ b/drivers/vfio/pci/vfio_pci_core.c
> @@ -1337,13 +1338,18 @@ static int vfio_pci_ioctl_reset(struct vfio_pci_core_device *vdev,
> * have NoSoftRst-, the reset function can cause the PCI config space
> * reset without restoring the original state (saved locally in
> * 'vdev->pm_save').
> + *
> + * The zap is done after making the device accessible in D0,
> + * because a DMABUF importer could access the device as part
> + * of its revocation cleanup.

Nit, s/zap/revoke/

Thanks,
Alex

> */
> vfio_pci_set_power_state(vdev, PCI_D0);
>
> - vfio_pci_dma_buf_move(vdev, true);
> + vfio_pci_revoke_bars(vdev);
> +
> ret = pci_try_reset_function(vdev->pdev);
> if (__vfio_pci_memory_enabled(vdev))
> - vfio_pci_dma_buf_move(vdev, false);
> + vfio_pci_unrevoke_bars(vdev);
> up_write(&vdev->memory_lock);
>
> return ret;