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@xxxxxxxxxxxxxxx> > Tested-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> > Tested-by: Tony Zhu <tony.zhu@xxxxxxxxx> > --- > 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 But looks OK Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Jason