RE: [PATCH v2 1/6] iommu: Add new iommu op to create domains owned by userspace

From: Tian, Kevin
Date: Sun Oct 08 2023 - 21:10:00 EST


> From: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> Sent: Thursday, September 28, 2023 3:15 PM
>
> Introduce a new iommu_domain op to create domains owned by userspace,
> e.g. through IOMMUFD. These domains have a few different properties
> compares to kernel owned domains:
>
> - They may be UNMANAGED domains, but created with special parameters.
> For instance aperture size changes/number of levels, different
> IOPTE formats, or other things necessary to make a vIOMMU work
>
> - We have to track all the memory allocations with GFP_KERNEL_ACCOUNT
> to make the cgroup sandbox stronger
>
> - Device-specialty domains, such as NESTED domains can be created by
> IOMMUFD.
>
> The new op clearly says the domain is being created by IOMMUFD, that
> the domain is intended for userspace use, and it provides a way to pass
> user flags or a driver specific uAPI structure to customize the created
> domain to exactly what the vIOMMU userspace driver requires.
>
> iommu drivers that cannot support VFIO/IOMMUFD should not support this
> op. This includes any driver that cannot provide a fully functional
> UNMANAGED domain.
>
> This new op for now is only supposed to be used by IOMMUFD, hence no
> wrapper for it. IOMMUFD would call the callback directly. As for domain
> free, IOMMUFD would use iommu_domain_free().
>
> Suggested-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> Co-developed-by: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Signed-off-by: Yi Liu <yi.l.liu@xxxxxxxxx>

Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>