On Wed, Jan 21, 2026 at 12:01:40PM -0400, Jason Gunthorpe wrote:
On Wed, Jan 21, 2026 at 04:28:17PM +0100, Christian König wrote:
On 1/21/26 14:31, Jason Gunthorpe wrote:
On Wed, Jan 21, 2026 at 10:20:51AM +0100, Christian König wrote:
On 1/20/26 15:07, Leon Romanovsky wrote:
From: Leon Romanovsky leonro@nvidia.com
dma-buf invalidation is performed asynchronously by hardware, so VFIO must wait until all affected objects have been fully invalidated.
Fixes: 5d74781ebc86 ("vfio/pci: Add dma-buf export support for MMIO regions") Signed-off-by: Leon Romanovsky leonro@nvidia.com
Reviewed-by: Christian König christian.koenig@amd.com
Please also keep in mind that the while this wait for all fences for correctness you also need to keep the mapping valid until dma_buf_unmap_attachment() was called.
Can you elaborate on this more?
I think what we want for dma_buf_attach_revocable() is the strong guarentee that the importer stops doing all access to the memory once this sequence is completed and the exporter can rely on it. I don't think this works any other way.
This is already true for dynamic move capable importers, right?
Not quite, no.
:(
It is kind of shocking to hear these APIs work like this with such a loose lifetime definition. Leon can you include some of these detail in the new comments?
If we can clarify what needs to be addressed for v5, I will proceed. At the moment, it's still unclear what is missing in v4.
Thanks