Commit c33e2086 authored by Yi Liu's avatar Yi Liu Committed by Joerg Roedel
Browse files

iommu/vt-d: Limit intel_iommu_set_dev_pasid() for paging domain



intel_iommu_set_dev_pasid() is only supposed to be used by paging domain,
so limit it.

Reviewed-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Signed-off-by: default avatarYi Liu <yi.l.liu@intel.com>
Link: https://lore.kernel.org/r/20241107122234.7424-9-yi.l.liu@intel.com


Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent c8596d65
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -4154,6 +4154,9 @@ static int intel_iommu_set_dev_pasid(struct iommu_domain *domain,
	struct dev_pasid_info *dev_pasid;
	int ret;

	if (WARN_ON_ONCE(!(domain->type & __IOMMU_DOMAIN_PAGING)))
		return -EINVAL;

	if (!pasid_supported(iommu) || dev_is_real_dma_subdevice(dev))
		return -EOPNOTSUPP;

@@ -4182,7 +4185,6 @@ static int intel_iommu_set_dev_pasid(struct iommu_domain *domain,

	domain_remove_dev_pasid(old, dev, pasid);

	if (domain->type & __IOMMU_DOMAIN_PAGING)
	intel_iommu_debugfs_create_dev_pasid(dev_pasid);

	return 0;