Hi, Leon,

On Sun, 2026-01-18 at 14:08 +0200, Leon Romanovsky wrote:
> Changelog:
> v2:
>  * Changed series to document the revoke semantics instead of
>    implementing it.
> v1:
> https://patch.msgid.link/[email protected]
> 
> ---------------------------------------------------------------------
> ----
> This series documents a dma-buf “revoke” mechanism: to allow a dma-
> buf
> exporter to explicitly invalidate (“kill”) a shared buffer after it
> has
> been distributed to importers, so that further CPU and device access
> is
> prevented and importers reliably observe failure.
> 
> The change in this series is to properly document and use existing
> core
> “revoked” state on the dma-buf object and a corresponding exporter-
> triggered
> revoke operation. Once a dma-buf is revoked, new access paths are
> blocked so
> that attempts to DMA-map, vmap, or mmap the buffer fail in a
> consistent way.

This sounds like it does not match how many GPU-drivers use the
move_notify() callback.

move_notify() would typically invalidate any device maps and any
asynchronous part of that invalidation would be complete when the dma-
buf's reservation object becomes idle WRT DMA_RESV_USAGE_BOOKKEEP
fences.

However, the importer could, after obtaining the resv lock, obtain a
new map using dma_buf_map_attachment(), and I'd assume the CPU maps
work in the same way, I.E. move_notify() does not *permanently* revoke
importer access.

/Thomas


> 
> Thanks
> 
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> To: Sumit Semwal <[email protected]>
> To: Christian König <[email protected]>
> To: Alex Deucher <[email protected]>
> To: David Airlie <[email protected]>
> To: Simona Vetter <[email protected]>
> To: Gerd Hoffmann <[email protected]>
> To: Dmitry Osipenko <[email protected]>
> To: Gurchetan Singh <[email protected]>
> To: Chia-I Wu <[email protected]>
> To: Maarten Lankhorst <[email protected]>
> To: Maxime Ripard <[email protected]>
> To: Thomas Zimmermann <[email protected]>
> To: Lucas De Marchi <[email protected]>
> To: Thomas Hellström <[email protected]>
> To: Rodrigo Vivi <[email protected]>
> To: Jason Gunthorpe <[email protected]>
> To: Leon Romanovsky <[email protected]>
> To: Kevin Tian <[email protected]>
> To: Joerg Roedel <[email protected]>
> To: Will Deacon <[email protected]>
> To: Robin Murphy <[email protected]>
> To: Alex Williamson <[email protected]>
> 
> ---
> Leon Romanovsky (4):
>       dma-buf: Rename .move_notify() callback to a clearer identifier
>       dma-buf: Document revoke semantics
>       iommufd: Require DMABUF revoke semantics
>       vfio: Add pinned interface to perform revoke semantics
> 
>  drivers/dma-buf/dma-buf.c                   |  6 +++---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c |  4 ++--
>  drivers/gpu/drm/virtio/virtgpu_prime.c      |  2 +-
>  drivers/gpu/drm/xe/tests/xe_dma_buf.c       |  6 +++---
>  drivers/gpu/drm/xe/xe_dma_buf.c             |  2 +-
>  drivers/infiniband/core/umem_dmabuf.c       |  4 ++--
>  drivers/infiniband/hw/mlx5/mr.c             |  2 +-
>  drivers/iommu/iommufd/pages.c               | 11 +++++++++--
>  drivers/vfio/pci/vfio_pci_dmabuf.c          | 16 ++++++++++++++++
>  include/linux/dma-buf.h                     | 25
> ++++++++++++++++++++++---
>  10 files changed, 60 insertions(+), 18 deletions(-)
> ---
> base-commit: 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb
> change-id: 20251221-dmabuf-revoke-b90ef16e4236
> 
> Best regards,
> --  
> Leon Romanovsky <[email protected]>
> 

Reply via email to