Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [PATCH RFC 06/11] iommu/sva: Use attach/detach_pasid_dev in SVA interfaces | Date | Mon, 21 Mar 2022 08:04:49 +0000 |
| |
> From: Lu Baolu <baolu.lu@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.
| |