On Wed, 4 Feb 2026 17:21:45 +0100 Christian König christian.koenig@amd.com wrote:
On 1/31/26 06:34, Leon Romanovsky wrote:
From: Leon Romanovsky leonro@nvidia.com
Till now VFIO has rejected pinned importers, largely to avoid being used with the RDMA pinned importer that cannot handle a move_notify() to revoke access.
Using dma_buf_attach_revocable() it can tell the difference between pinned importers that support the flow described in dma_buf_invalidate_mappings() and those that don't.
Thus permit compatible pinned importers.
This is one of two items IOMMUFD requires to remove its private interface to VFIO's dma-buf.
Reviewed-by: Kevin Tian kevin.tian@intel.com Reviewed-by: Alex Williamson alex@shazbot.org Reviewed-by: Christian König christian.koenig@amd.com Signed-off-by: Leon Romanovsky leonro@nvidia.com
drivers/vfio/pci/vfio_pci_dmabuf.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/drivers/vfio/pci/vfio_pci_dmabuf.c b/drivers/vfio/pci/vfio_pci_dmabuf.c index 78d47e260f34..a5fb80e068ee 100644 --- a/drivers/vfio/pci/vfio_pci_dmabuf.c +++ b/drivers/vfio/pci/vfio_pci_dmabuf.c @@ -22,16 +22,6 @@ struct vfio_pci_dma_buf { u8 revoked : 1; }; -static int vfio_pci_dma_buf_pin(struct dma_buf_attachment *attachment) -{
- return -EOPNOTSUPP;
-}
-static void vfio_pci_dma_buf_unpin(struct dma_buf_attachment *attachment) -{
- /* Do nothing */
-}
This chunk here doesn't want to apply to drm-misc-next, my educated guess is that the patch adding those lines is missing in that tree.
How should we handle that? Patches 1-3 have already been pushed to drm-misc-next and I would rather like to push patches 4-6 through that branch as well.
I can request a backmerge from the drm-misc-next maintainers, but then we clearly don't get that upstream this week.
Hmm, drm-next already has a backmerge up to v6.19-rc7, the patch here is based on a commit merged in rc8. The tag for that change was based on rc6. It can be found here:
https://github.com/awilliam/linux-vfio.git tags/vfio-v6.19-rc8
As the same tag Linus merged in:
1f97d9dcf536 ("Merge tag 'vfio-v6.19-rc8' of https://github.com/awilliam/linux-vfio")
drm-misc-next only seems to be based on v6.19-rc1 though, so I don't know that any of that helps. Thanks,
Alex
static int vfio_pci_dma_buf_attach(struct dma_buf *dmabuf, struct dma_buf_attachment *attachment) { @@ -43,6 +33,9 @@ static int vfio_pci_dma_buf_attach(struct dma_buf *dmabuf, if (priv->revoked) return -ENODEV;
- if (!dma_buf_attach_revocable(attachment))
return -EOPNOTSUPP;- return 0;
} @@ -107,8 +100,6 @@ static void vfio_pci_dma_buf_release(struct dma_buf *dmabuf) } static const struct dma_buf_ops vfio_pci_dmabuf_ops = {
- .pin = vfio_pci_dma_buf_pin,
- .unpin = vfio_pci_dma_buf_unpin, .attach = vfio_pci_dma_buf_attach, .map_dma_buf = vfio_pci_dma_buf_map, .unmap_dma_buf = vfio_pci_dma_buf_unmap,