Re: [PATCH v6 00/11] vfio/pci: Allow MMIO regions to be exported through dma-buf

From: Nicolin Chen

Date: Tue Nov 04 2025 - 14:20:35 EST


On Sun, Nov 02, 2025 at 10:00:48AM +0200, Leon Romanovsky wrote:
> Changelog:
> v6:
> * Fixed wrong error check from pcim_p2pdma_init().
> * Documented pcim_p2pdma_provider() function.
> * Improved commit messages.
> * Added VFIO DMA-BUF selftest.
> * Added __counted_by(nr_ranges) annotation to struct vfio_device_feature_dma_buf.
> * Fixed error unwind when dma_buf_fd() fails.
> * Document latest changes to p2pmem.
> * Removed EXPORT_SYMBOL_GPL from pci_p2pdma_map_type.
> * Moved DMA mapping logic to DMA-BUF.
> * Removed types patch to avoid dependencies between subsystems.
> * Moved vfio_pci_dma_buf_move() in err_undo block.
> * Added nvgrace patch.

I have verified this v6 using Jason's iommufd dmabuf branch:
https://github.com/jgunthorpe/linux/commits/iommufd_dmabuf/

by drafting a QEMU patch on top of Shameer's vSMMU v5 series:
https://github.com/nicolinc/qemu/commits/wip/iommufd_dmabuf/

with that, I see GPU BAR memory be correctly fetched in the QEMU:
vfio_region_dmabuf Device 0009:01:00.0, region "0009:01:00.0 BAR 0", offset: 0x0, size: 0x1000000
vfio_region_dmabuf Device 0009:01:00.0, region "0009:01:00.0 BAR 2", offset: 0x0, size: 0x44f00000
vfio_region_dmabuf Device 0009:01:00.0, region "0009:01:00.0 BAR 4", offset: 0x0, size: 0x17a0000000

Tested-by: Nicolin Chen <nicolinc@xxxxxxxxxx>