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@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 Oh, nevermind, I am reading them in the wrong order :) Jason