]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iommu: Set iommu_attach_handle->domain in core
authorYi Liu <yi.l.liu@intel.com>
Sun, 8 Sep 2024 11:42:56 +0000 (04:42 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 11 Sep 2024 23:14:07 +0000 (20:14 -0300)
The IOMMU core sets the iommu_attach_handle->domain for the
iommu_attach_group_handle() path, while the iommu_replace_group_handle()
sets it on the caller side. Make the two paths aligned on it.

Link: https://patch.msgid.link/r/20240908114256.979518-3-yi.l.liu@intel.com
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommu.c
drivers/iommu/iommufd/fault.c

index ed6c5cb60c5aeecff72490e037a70d9fba0553ce..83c8e617a2c5888e4264bd715e23904edd252f86 100644 (file)
@@ -3578,6 +3578,7 @@ int iommu_replace_group_handle(struct iommu_group *group,
                ret = xa_reserve(&group->pasid_array, IOMMU_NO_PASID, GFP_KERNEL);
                if (ret)
                        goto err_unlock;
+               handle->domain = new_domain;
        }
 
        ret = __iommu_group_set_domain(group, new_domain);
index df03411c8728933a3305e39bca5d07d5de82ddae..8c8226f0dffd10cb94a529be6b3ce593d9ce230f 100644 (file)
@@ -161,7 +161,6 @@ static int __fault_domain_replace_dev(struct iommufd_device *idev,
                if (!handle)
                        return -ENOMEM;
 
-               handle->handle.domain = hwpt->domain;
                handle->idev = idev;
                ret = iommu_replace_group_handle(idev->igroup->group,
                                                 hwpt->domain, &handle->handle);