Re: [PATCH v2 0/4] vfio: selftests: update DMA mapping tests to use queried IOVA ranges

From: Alex Mastro

Date: Tue Nov 11 2025 - 13:49:36 EST


On Tue, Nov 11, 2025 at 05:41:04PM +0000, David Matlack wrote:
> On 2025-11-11 06:52 AM, Alex Mastro wrote:
> > Not all IOMMUs support the same virtual address width as the processor,
> > for instance older Intel consumer platforms only support 39-bits of
> > IOMMU address space. On such platforms, using the virtual address as
> > the IOVA and mappings at the top of the address space both fail.
> >
> > VFIO and IOMMUFD have facilities for retrieving valid IOVA ranges,
> > VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE and IOMMU_IOAS_IOVA_RANGES,
> > respectively. These provide compatible arrays of ranges from which
> > we can construct a simple allocator and record the maximum supported
> > IOVA address.
> >
> > Use this new allocator in place of reusing the virtual address, and
> > incorporate the maximum supported IOVA into the limit testing. This
> > latter change doesn't test quite the same absolute end-of-address space
> > behavior but still seems to have some value. Testing for overflow is
> > skipped when a reduced address space is supported as the desired errno
> > is not generated.
> >
> > This series is based on Alex Williamson's "Incorporate IOVA range info"
> > [1] along with feedback from the discussion in David Matlack's "Skip
> > vfio_dma_map_limit_test if mapping returns -EINVAL" [2].
> >
> > Given David's plans to split IOMMU concerns from devices as described in
> > [3], this series' home for `struct iova_allocator` and IOVA
> > range helpers are likely to be short lived, since they reside in
> > vfio_pci_device.c. I assume that the rework can move this functionality
> > to a more appropriate location next to other IOMMU-focused code, once
> > such a place exists.
> >
> > [1] https://lore.kernel.org/all/20251108212954.26477-1-alex@xxxxxxxxxxx/#t
> > [2] https://lore.kernel.org/all/20251107222058.2009244-1-dmatlack@xxxxxxxxxx/
> > [3] https://lore.kernel.org/all/aRIoKJk0uwLD-yGr@xxxxxxxxxx/
> >
> > To: Alex Williamson <alex@xxxxxxxxxxx>
> > To: David Matlack <dmatlack@xxxxxxxxxx>
> > To: Shuah Khan <shuah@xxxxxxxxxx>
> > To: Jason Gunthorpe <jgg@xxxxxxxx>
> > Cc: kvm@xxxxxxxxxxxxxxx
> > Cc: linux-kselftest@xxxxxxxxxxxxxxx
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Signed-off-by: Alex Mastro <amastro@xxxxxx>
>
> LGTM. And I confirmed this fixes vfio_dma_mapping_test on HW that does
> not support IOVA 0xffffffffffffffff. Thanks!
>
> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx>
> Tested-by: David Matlack <dmatlack@xxxxxxxxxx>

Thanks David!