On Tue, 6 Oct 2026 20:36:35 +0100 Matt Evans <[email protected]> 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;
