> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx> > Sent: Wednesday, July 12, 2023 11:13 AM > > On 2023/7/12 6:02, Jacob Pan wrote: > > On Tue, 11 Jul 2023 09:06:42 +0800, Lu Baolu<baolu.lu@xxxxxxxxxxxxxxx> > > wrote: > > > >> @@ -158,7 +158,7 @@ int iommu_queue_iopf(struct iommu_fault *fault, > >> struct device *dev) > >> * As long as we're holding param->lock, the queue can't be > >> unlinked > >> * from the device and therefore cannot disappear. > >> */ > >> - iopf_param = param->iopf_param; > >> + iopf_param = iommu_get_device_fault_cookie(dev, 0); > > I am not sure I understand how does it know the cookie type is iopf_param > > for PASID 0? > > > > Between IOPF and IOMMUFD use of the cookie, cookie types are different, > > right? > > > > The fault cookie is managed by the code that delivers or handles the > faults. The sva and IOMMUFD paths are exclusive. > what about siov? A siov-capable device can support sva and iommufd simultaneously.