RE: [PATCH v2 03/11] iommufd/hw_pagetable: Use domain_alloc_user op for domain allocation

From: Tian, Kevin
Date: Wed May 24 2023 - 01:07:37 EST


> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Saturday, May 20, 2023 2:58 AM
>
> 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.
>

yes, this is clearer.