Re: [PATCH v3 3/7] iommu: Detaching pasid by attaching to the blocked_domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024/11/7 17:35, Tian, Kevin wrote:
From: Liu, Yi L <yi.l.liu@xxxxxxxxx>
Sent: Monday, November 4, 2024 9:20 PM

@@ -3404,8 +3404,18 @@ static void iommu_remove_dev_pasid(struct
device *dev, ioasid_t pasid,
  				   struct iommu_domain *domain)
  {
  	const struct iommu_ops *ops = dev_iommu_ops(dev);
+	struct iommu_domain *blocked_domain = ops->blocked_domain;
+	int ret = 1;
+
+	if (blocked_domain && blocked_domain->ops->set_dev_pasid) {
+		ret = blocked_domain->ops->set_dev_pasid(blocked_domain,
+							 dev, pasid, domain);
+	} else if (ops->remove_dev_pasid) {
+		ops->remove_dev_pasid(dev, pasid, domain);
+		ret = 0;
+	}


given ops->remove_dev_pasid is already checked at attach time
here could just call it w/o further check.

yep. A driver does not pass that check should not get here at all. So
either should be valid.

Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>

--
Regards,
Yi Liu




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux