Messages in this thread | | | Date | Wed, 1 Jun 2022 18:48:23 +0800 | Subject | Re: [PATCH 07/12] iommu/vt-d: Acquiring lock in pasid manipulation helpers | From | Baolu Lu <> |
| |
On 2022/6/1 17:18, Tian, Kevin wrote: >> From: Lu Baolu <baolu.lu@linux.intel.com> >> 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 <baolu.lu@linux.intel.com> > > Reviewed-by: Kevin Tian <kevin.tian@intel.com>, 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
| |