RE: [PATCH v3 2/4] iommu/vt-d: Check domain force_snooping against attached devices

From: Tian, Kevin
Date: Fri May 06 2022 - 02:11:06 EST


> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> Sent: Friday, May 6, 2022 1:27 PM
> +
> +/*
> + * Set the page snoop control for a pasid entry which has been set up.
> + */
> +void intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu,
> + struct device *dev, u32 pasid)
> +{
> + struct pasid_entry *pte;
> + u16 did;
> +
> + spin_lock(&iommu->lock);
> + pte = intel_pasid_get_entry(dev, pasid);
> + if (WARN_ON(!pte || !pasid_pte_is_present(pte))) {
> + spin_unlock(&iommu->lock);
> + return;
> + }
> +
> + pasid_set_pgsnp(pte);
> + did = pasid_get_domain_id(pte);
> + spin_unlock(&iommu->lock);
> +
> + pasid_flush_caches(iommu, pte, pasid, did);
> +}

The comment of pasid_flush_caches() says:

/*
* This function flushes cache for a newly setup pasid table entry.
* Caller of it should not modify the in-use pasid table entries.
*/

Can you check whether that comment still hold?