mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:04:51 +01:00
vfio: Prevent from pinned DMABUF importers to attach to VFIO DMABUF
Some pinned importers, such as non-ODP RDMA ones, cannot invalidate their
mappings and therefore must be prevented from attaching to this exporter.
Fixes: 5d74781ebc ("vfio/pci: Add dma-buf export support for MMIO regions")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Pranjal Shrivastava <praan@google.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20260121-vfio-add-pin-v1-1-4e04916b17f1@nvidia.com
Signed-off-by: Alex Williamson <alex@shazbot.org>
This commit is contained in:
parent
24d479d26b
commit
61ceaf2361
1 changed files with 12 additions and 0 deletions
|
|
@ -20,6 +20,16 @@ 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 */
|
||||
}
|
||||
|
||||
static int vfio_pci_dma_buf_attach(struct dma_buf *dmabuf,
|
||||
struct dma_buf_attachment *attachment)
|
||||
{
|
||||
|
|
@ -76,6 +86,8 @@ 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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue