This patch is to address a REVISIT. As ioasid_set is added to domain,
upper layer/VFIO can set ioasid_set to iommu driver, and track the
PASID ownership, so no need to get_task_mm() in intel_svm_bind_gpasid().

Cc: Kevin Tian <[email protected]>
CC: Jacob Pan <[email protected]>
Cc: Alex Williamson <[email protected]>
Cc: Eric Auger <[email protected]>
Cc: Jean-Philippe Brucker <[email protected]>
Cc: Joerg Roedel <[email protected]>
Cc: Lu Baolu <[email protected]>
Signed-off-by: Liu Yi L <[email protected]>
---
 drivers/iommu/intel/svm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/iommu/intel/svm.c b/drivers/iommu/intel/svm.c
index 519eabb..d3cf52b 100644
--- a/drivers/iommu/intel/svm.c
+++ b/drivers/iommu/intel/svm.c
@@ -400,12 +400,6 @@ int intel_svm_bind_gpasid(struct iommu_domain *domain, 
struct device *dev,
                        ret = -ENOMEM;
                        goto out;
                }
-               /* REVISIT: upper layer/VFIO can track host process that bind
-                * the PASID. ioasid_set = mm might be sufficient for vfio to
-                * check pasid VMM ownership. We can drop the following line
-                * once VFIO and IOASID set check is in place.
-                */
-               svm->mm = get_task_mm(current);
                svm->pasid = data->hpasid;
                if (data->flags & IOMMU_SVA_GPASID_VAL) {
                        svm->gpasid = data->gpasid;
@@ -420,7 +414,6 @@ int intel_svm_bind_gpasid(struct iommu_domain *domain, 
struct device *dev,
                INIT_WORK(&svm->work, intel_svm_free_async_fn);
                ioasid_attach_data(data->hpasid, svm);
                INIT_LIST_HEAD_RCU(&svm->devs);
-               mmput(svm->mm);
        }
        sdev = kzalloc(sizeof(*sdev), GFP_KERNEL);
        if (!sdev) {
-- 
2.7.4

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to