Re: [PATCH v12 08/17] iommu: Make free of iommu_domain_ops optional

Jason Gunthorpe
2022-08-26T14:55:45Z

On Fri, Aug 26, 2022 at 11:53:15AM -0300, Jason Gunthorpe wrote:
> On Fri, Aug 26, 2022 at 08:11:32PM +0800, Lu Baolu wrote:
> > So that the drivers are able to implement static singleton instance for
> > some special domains. The blocking domain is an example. The driver has
> > no need to allocate different memory for each blocking domain allocation
> > request. Hence, no need for a free callback.
> >
> > Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> > Tested-by: Zhangfei Gao <zhangfei.gao@linaro.org>
> > Tested-by: Tony Zhu <tony.zhu@intel.com>
> > ---
> > drivers/iommu/iommu.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> > index e985f4d5895f..630e1b64ed89 100644
> > --- a/drivers/iommu/iommu.c
> > +++ b/drivers/iommu/iommu.c
> > @@ -1972,7 +1972,8 @@ void iommu_domain_free(struct iommu_domain *domain)
> > if (domain->type == IOMMU_DOMAIN_SVA)
> > mmdrop(domain->mm);
> > iommu_put_dma_cookie(domain);
> > - domain->ops->free(domain);
> > + if (domain->ops->free)
> > + domain->ops->free(domain);
> > }
> > EXPORT_SYMBOL_GPL(iommu_domain_free);
>
> This patch is in the wrong order, it needs to be before the ARM patch
> implementing the blocking domain

Oh, nevermind, I am reading them in the wrong order :)

Jason