]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
vfio/type1: Use iommu_paging_domain_alloc()
authorLu Baolu <baolu.lu@linux.intel.com>
Mon, 10 Jun 2024 08:55:37 +0000 (16:55 +0800)
committerWill Deacon <will@kernel.org>
Thu, 4 Jul 2024 13:09:33 +0000 (14:09 +0100)
Replace iommu_domain_alloc() with iommu_paging_domain_alloc().

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20240610085555.88197-4-baolu.lu@linux.intel.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/vfio/vfio_iommu_type1.c

index 3a0218171cfaa059e8e55b9f108536b30fb934e8..0960699e75543e363f51c410e7542442617844f5 100644 (file)
@@ -2135,7 +2135,7 @@ static int vfio_iommu_domain_alloc(struct device *dev, void *data)
 {
        struct iommu_domain **domain = data;
 
-       *domain = iommu_domain_alloc(dev->bus);
+       *domain = iommu_paging_domain_alloc(dev);
        return 1; /* Don't iterate */
 }
 
@@ -2192,11 +2192,12 @@ static int vfio_iommu_type1_attach_group(void *iommu_data,
         * us a representative device for the IOMMU API call. We don't actually
         * want to iterate beyond the first device (if any).
         */
-       ret = -EIO;
        iommu_group_for_each_dev(iommu_group, &domain->domain,
                                 vfio_iommu_domain_alloc);
-       if (!domain->domain)
+       if (IS_ERR(domain->domain)) {
+               ret = PTR_ERR(domain->domain);
                goto out_free_domain;
+       }
 
        if (iommu->nesting) {
                ret = iommu_enable_nesting(domain->domain);