On Fri, Jan 30, 2026 at 09:43:22AM +0100, Christian König wrote:
On 1/24/26 20:14, Leon Romanovsky wrote:
From: Leon Romanovsky leonro@nvidia.com
Some exporters need a flow to synchronously revoke access to the DMA-buf by importers. Once revoke is completed the importer is not permitted to touch the memory otherwise they may get IOMMU faults, AERs, or worse.
That approach is seriously not going to fly.
You can use the invalidate_mappings approach to trigger the importer to give back the mapping, but when the mapping is really given back is still completely on the importer side.
Yes, and that is what this is all doing, there is the wait for the importer's unmap to happen in the sequence.
In other words you can't do the shot down revoke semantics you are trying to establish here.
All this is doing is saying if dma_buf_attach_revocable() == true then the importer will call unmap within bounded time after dma_buf_invalidate_mappings().
That's it. If the importing driver doesn't want to do that then it should make dma_buf_attach_revocable()=false.
VFIO/etc only want to interwork with importers that can do this.
Jason