On Fri, May 19, 2023 at 08:56:25AM +0000, Tian, Kevin wrote: > > From: Yi Liu <yi.l.liu@xxxxxxxxx> > > Sent: Thursday, May 11, 2023 10:39 PM > > > > > > @@ -88,7 +90,10 @@ iommufd_hw_pagetable_alloc(struct iommufd_ctx > > *ictx, struct iommufd_ioas *ioas, > > refcount_inc(&ioas->obj.users); > > hwpt->ioas = ioas; > > > > - hwpt->domain = iommu_domain_alloc(idev->dev->bus); > > + if (ops->domain_alloc_user) > > + hwpt->domain = ops->domain_alloc_user(idev->dev, NULL, > > NULL); > > + else > > + hwpt->domain = iommu_domain_alloc(idev->dev->bus); > > this reminds the comment for @domain_alloc_user() should clarify > that UNMANGED domain type is assumed when no user data is > provided, to be compatible with iommu_domain_alloc(). Yes. Perhaps: * @domain_alloc_user: allocate user iommu domain. A valid user_data pointer and * a parent pointer to a kernel-managed domain are required * to allocate an IOMMU_DOMAIN_NESTED domain. Otherwise, the * new domain will be set to an IOMMU_DOMAIN_UNMANAGED type. Thanks Nic