Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [PATCH v10 6/7] iommu/vt-d: Add set_dev_pasid callback for dma domain | Date | Fri, 14 Jul 2023 03:50:07 +0000 |
| |
> From: Baolu Lu <baolu.lu@linux.intel.com> > Sent: Friday, July 14, 2023 11:34 AM > > On 2023/7/13 15:56, Tian, Kevin wrote: > >> From: Jacob Pan <jacob.jun.pan@linux.intel.com> > >> Sent: Thursday, July 13, 2023 12:34 AM > >> > >> > >> - /* > >> - * Should never reach here until we add support for attaching > >> - * non-SVA domain to a pasid. > >> - */ > >> - WARN_ON(1); > >> + dmar_domain = to_dmar_domain(domain); > >> + spin_lock_irqsave(&dmar_domain->lock, flags); > >> + list_for_each_entry(curr, &dmar_domain->dev_pasids, link_domain) > >> { > >> + if (curr->dev == dev && curr->pasid == pasid) { > >> + list_del(&curr->link_domain); > >> + dev_pasid = curr; > >> + break; > >> + } > >> + } > >> + spin_unlock_irqrestore(&dmar_domain->lock, flags); > >> > > > > what about no matching dev_pasid is find? > > kfree() can handle this gracefully.
but what about domain_detach_iommu()? Is it correct to adjust the refcnting when there is no matching dev_pasid?
| |