On Wed, 4 Feb 2026 17:21:45 +0100 Christian König <[email protected]> wrote:
> On 1/31/26 06:34, Leon Romanovsky wrote: > > From: Leon Romanovsky <[email protected]> > > > > 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 <[email protected]> > > Reviewed-by: Alex Williamson <[email protected]> > > Reviewed-by: Christian König <[email protected]> > > Signed-off-by: Leon Romanovsky <[email protected]> > > --- > > 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, > > > >
