> From: Lu Baolu <baolu...@linux.intel.com> > Sent: Sunday, March 20, 2022 2:40 PM > +struct iommu_sva * > +iommu_sva_bind_device(struct device *dev, struct mm_struct *mm, void > *drvdata) > +{ > + int ret = -EINVAL; > + struct iommu_sva *handle; > + struct iommu_domain *domain; > + > + handle = kzalloc(sizeof(*handle), GFP_KERNEL); > + if (!handle) > + return ERR_PTR(-ENOMEM); > + > + ret = iommu_sva_alloc_pasid(mm, 1, (1U << dev->iommu->pasid_bits) > - 1); > + if (ret) > + goto out; > + > + domain = iommu_sva_domain_alloc(dev); > + if (!domain) { > + ret = -ENOMEM; > + goto out; > + } > + domain->sva_cookie = mm;
one domain can be attached by multiple devices, so this should not be a blind alloc. _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu