* [PATCH] vfio/pci: Clean up DMABUFs before disabling function
@ 2026-04-15 18:17 Matt Evans
2026-04-15 18:32 ` Leon Romanovsky
2026-04-17 5:29 ` Tian, Kevin
0 siblings, 2 replies; 3+ messages in thread
From: Matt Evans @ 2026-04-15 18:17 UTC (permalink / raw)
To: Alex Williamson, Jason Gunthorpe, Kevin Tian, Ankit Agrawal,
Leon Romanovsky, Vivek Kasireddy
Cc: kvm, linux-kernel, Jason Gunthorpe
On device shutdown, make vfio_pci_core_close_device() call
vfio_pci_dma_buf_cleanup() before the function is disabled via
vfio_pci_core_disable(). This ensures that all access via DMABUFs is
revoked before the function's BARs become inaccessible.
This fixes an issue where, if the function is disabled first, a tiny
window exists in which the function's MSE is cleared and yet BARs
could still be accessed via the DMABUF. The resources would also be
freed and up for grabs by a different driver.
Fixes: 5d74781ebc86c ("vfio/pci: Add dma-buf export support for MMIO regions")
Signed-off-by: Matt Evans <mattev@meta.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
---
Jason,
Added your R-B from https://lore.kernel.org/kvm/20260330132952.GS310919@nvidia.com/
Thanks, Matt
drivers/vfio/pci/vfio_pci_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
index ad52abc46c04..3f8d093aacf8 100644
--- a/drivers/vfio/pci/vfio_pci_core.c
+++ b/drivers/vfio/pci/vfio_pci_core.c
@@ -734,10 +734,10 @@ void vfio_pci_core_close_device(struct vfio_device *core_vdev)
#if IS_ENABLED(CONFIG_EEH)
eeh_dev_release(vdev->pdev);
#endif
- vfio_pci_core_disable(vdev);
-
vfio_pci_dma_buf_cleanup(vdev);
+ vfio_pci_core_disable(vdev);
+
mutex_lock(&vdev->igate);
vfio_pci_eventfd_replace_locked(vdev, &vdev->err_trigger, NULL);
vfio_pci_eventfd_replace_locked(vdev, &vdev->req_trigger, NULL);
--
2.47.3
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] vfio/pci: Clean up DMABUFs before disabling function
2026-04-15 18:17 [PATCH] vfio/pci: Clean up DMABUFs before disabling function Matt Evans
@ 2026-04-15 18:32 ` Leon Romanovsky
2026-04-17 5:29 ` Tian, Kevin
1 sibling, 0 replies; 3+ messages in thread
From: Leon Romanovsky @ 2026-04-15 18:32 UTC (permalink / raw)
To: Matt Evans
Cc: Alex Williamson, Jason Gunthorpe, Kevin Tian, Ankit Agrawal,
Vivek Kasireddy, kvm, linux-kernel, Jason Gunthorpe
On Wed, Apr 15, 2026 at 11:17:52AM -0700, Matt Evans wrote:
> On device shutdown, make vfio_pci_core_close_device() call
> vfio_pci_dma_buf_cleanup() before the function is disabled via
> vfio_pci_core_disable(). This ensures that all access via DMABUFs is
> revoked before the function's BARs become inaccessible.
>
> This fixes an issue where, if the function is disabled first, a tiny
> window exists in which the function's MSE is cleared and yet BARs
> could still be accessed via the DMABUF. The resources would also be
> freed and up for grabs by a different driver.
>
> Fixes: 5d74781ebc86c ("vfio/pci: Add dma-buf export support for MMIO regions")
> Signed-off-by: Matt Evans <mattev@meta.com>
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
>
> Jason,
>
> Added your R-B from https://lore.kernel.org/kvm/20260330132952.GS310919@nvidia.com/
>
> Thanks, Matt
>
> drivers/vfio/pci/vfio_pci_core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
^ permalink raw reply [flat|nested] 3+ messages in thread* RE: [PATCH] vfio/pci: Clean up DMABUFs before disabling function
2026-04-15 18:17 [PATCH] vfio/pci: Clean up DMABUFs before disabling function Matt Evans
2026-04-15 18:32 ` Leon Romanovsky
@ 2026-04-17 5:29 ` Tian, Kevin
1 sibling, 0 replies; 3+ messages in thread
From: Tian, Kevin @ 2026-04-17 5:29 UTC (permalink / raw)
To: Matt Evans, Alex Williamson, Jason Gunthorpe, Ankit Agrawal,
Leon Romanovsky, Kasireddy, Vivek
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
Jason Gunthorpe
> From: Matt Evans <mattev@meta.com>
> Sent: Thursday, April 16, 2026 2:18 AM
>
> On device shutdown, make vfio_pci_core_close_device() call
> vfio_pci_dma_buf_cleanup() before the function is disabled via
> vfio_pci_core_disable(). This ensures that all access via DMABUFs is
> revoked before the function's BARs become inaccessible.
>
> This fixes an issue where, if the function is disabled first, a tiny
> window exists in which the function's MSE is cleared and yet BARs
> could still be accessed via the DMABUF. The resources would also be
> freed and up for grabs by a different driver.
>
> Fixes: 5d74781ebc86c ("vfio/pci: Add dma-buf export support for MMIO
> regions")
> Signed-off-by: Matt Evans <mattev@meta.com>
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-04-17 5:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-15 18:17 [PATCH] vfio/pci: Clean up DMABUFs before disabling function Matt Evans
2026-04-15 18:32 ` Leon Romanovsky
2026-04-17 5:29 ` Tian, Kevin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox