On Thu, May 28, 2026 at 06:59:38PM +0000, David Matlack wrote:
> diff --git a/tools/testing/selftests/vfio/lib/vfio_pci_driver.c 
> b/tools/testing/selftests/vfio/lib/vfio_pci_driver.c
> index 6827f4a6febe..c70c22b1a86c 100644
> --- a/tools/testing/selftests/vfio/lib/vfio_pci_driver.c
> +++ b/tools/testing/selftests/vfio/lib/vfio_pci_driver.c
> @@ -28,6 +28,9 @@ void vfio_pci_driver_probe(struct vfio_pci_device *device)
>                         continue;
> 
>                 device->driver.ops = ops;
> +
> +               VFIO_ASSERT_NE(ops->region_size, 0);
> +               device->driver.region.size = roundup(ops->region_size, 
> getpagesize());

Almost, the iova allocator insists on power of 2 :

/home/jgg/oss/wip/mlx5st/tools/testing/selftests/vfio/lib/iova_allocator.c:54: 
Assertion Failure

  Expression: size & (size - 1) == 0
  Observed: 0x200c000 == 0
  [errno: 0 - Success]
  Invalid size arg, non-power-of-2

So I left it with the max

                VFIO_ASSERT_NE(ops->region_size, 0);
                device->driver.region.size =
                        max_t(u64, roundup_pow_of_two(ops->region_size),
                              getpagesize());

Thanks,
Jason

Reply via email to