On 2022/6/1 17:18, Tian, Kevin wrote:
From: Lu Baolu <[email protected]>
Sent: Friday, May 27, 2022 2:30 PM

The iommu->lock is used to protect the per-IOMMU pasid directory table
and pasid table. Move the spinlock acquisition/release into the helpers
to make the code self-contained.

Signed-off-by: Lu Baolu <[email protected]>

Reviewed-by: Kevin Tian <[email protected]>, with one nit


-       /* Caller must ensure PASID entry is not in use. */
-       if (pasid_pte_is_present(pte))
-               return -EBUSY;
+       spin_lock(&iommu->lock);
+       pte = get_non_present_pasid_entry(dev, pasid);
+       if (!pte) {
+               spin_unlock(&iommu->lock);
+               return -ENODEV;
+       }

I don't think above is a good abstraction and it changes the error
code for an present entry from -EBUSY to -ENODEV.

Sure. I will roll it back to -EBUSY. I added this helper because the
same code appears at least three times in this file.

Best regards,
baolu


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

Reply via email to