On Tue, Jan 20, 2026 at 09:15:30AM -0400, Jason Gunthorpe wrote: > On Tue, Jan 20, 2026 at 03:10:46PM +0200, Leon Romanovsky wrote: > > On Mon, Jan 19, 2026 at 03:54:44PM -0400, Jason Gunthorpe wrote: > > > On Mon, Jan 19, 2026 at 08:23:00PM +0200, Leon Romanovsky wrote: > > > > On Mon, Jan 19, 2026 at 12:59:51PM -0400, Jason Gunthorpe wrote: > > > > > On Sun, Jan 18, 2026 at 02:08:47PM +0200, Leon Romanovsky wrote: > > > > > > From: Leon Romanovsky <[email protected]> > > > > > > > > > > > > IOMMUFD does not support page fault handling, and after a call to > > > > > > .invalidate_mappings() all mappings become invalid. Ensure that > > > > > > the IOMMUFD DMABUF importer is bound to a revoke‑aware DMABUF > > > > > > exporter > > > > > > (for example, VFIO). > > > > > > > > > > > > Signed-off-by: Leon Romanovsky <[email protected]> > > > > > > --- > > > > > > drivers/iommu/iommufd/pages.c | 9 ++++++++- > > > > > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > > > > > > > > > diff --git a/drivers/iommu/iommufd/pages.c > > > > > > b/drivers/iommu/iommufd/pages.c > > > > > > index 76f900fa1687..a5eb2bc4ef48 100644 > > > > > > --- a/drivers/iommu/iommufd/pages.c > > > > > > +++ b/drivers/iommu/iommufd/pages.c > > > > > > @@ -1501,16 +1501,22 @@ static int iopt_map_dmabuf(struct > > > > > > iommufd_ctx *ictx, struct iopt_pages *pages, > > > > > > mutex_unlock(&pages->mutex); > > > > > > } > > > > > > > > > > > > - rc = sym_vfio_pci_dma_buf_iommufd_map(attach, > > > > > > &pages->dmabuf.phys); > > > > > > + rc = dma_buf_pin(attach); > > > > > > if (rc) > > > > > > goto err_detach; > > > > > > > > > > > > + rc = sym_vfio_pci_dma_buf_iommufd_map(attach, > > > > > > &pages->dmabuf.phys); > > > > > > + if (rc) > > > > > > + goto err_unpin; > > > > > > + > > > > > > dma_resv_unlock(dmabuf->resv); > > > > > > > > > > > > /* On success iopt_release_pages() will detach and put the > > > > > > dmabuf. */ > > > > > > pages->dmabuf.attach = attach; > > > > > > return 0; > > > > > > > > > > Don't we need an explicit unpin after unmapping? > > > > > > > > Yes, but this patch is going to be dropped in v3 because of this > > > > suggestion. > > > > https://lore.kernel.org/all/[email protected] > > > > > > That's not right, that suggestion is about changing VFIO. iommufd must > > > still act as a pinning importer! > > > > There is no change in iommufd, as it invokes dma_buf_dynamic_attach() > > with a valid &iopt_dmabuf_attach_revoke_ops. The check determining whether > > iommufd can perform a revoke is handled there. > > iommufd is a pining importer. I did not add a call to pin because it > only worked with VFIO that would not support it. Now that this series > fixes it the pin must be added. Don't drop this patch.
No problem, let's keep it. Thanks
