• Jason Gunthorpe's avatar
    iommufd: Add kernel support for testing iommufd · f4b20bb3
    Jason Gunthorpe authored
    Provide a mock kernel module for the iommu_domain that allows it to run
    without any HW and the mocking provides a way to directly validate that
    the PFNs loaded into the iommu_domain are correct. This exposes the access
    kAPI toward userspace to allow userspace to explore the functionality of
    pages.c and io_pagetable.c
    
    The mock also simulates the rare case of PAGE_SIZE > iommu page size as
    the mock will operate at a 2K iommu page size. This allows exercising all
    of the calculations to support this mismatch.
    
    This is also intended to support syzkaller exploring the same space.
    
    However, it is an unusually invasive config option to enable all of
    this. The config option should not be enabled in a production kernel.
    
    Link: https://lore.kernel.org/r/16-v6-a196d26f289e+11787-iommufd_jgg@nvidia.com
    Tested-by: Matthew Rosato <mjrosato@linux.ibm.com> # s390
    Tested-by: Eric Auger <eric.auger@redhat.com> # aarch64
    Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    f4b20bb3
selftest.c 21.3 KB