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]> >
