> 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

Reply via email to