RE: [PATCH rc 5/8] iommu/vt-d: Add missing device iotlb flush for parent domain

From: Tian, Kevin
Date: Thu Feb 08 2024 - 03:42:39 EST


> From: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> Sent: Thursday, February 8, 2024 4:23 PM
>
> ATS-capable devices cache the result of nested translation. This result
> relies on the mappings in s2 domain (a.k.a. parent). When there are
> modifications in the s2 domain, the related nested translation caches on
> the device should be flushed. This includes the devices that are attached
> to the s1 domain. However, the existing code ignores this fact to only
> loops its own devices.
>
> As there is no easy way to identify the exact set of nested translations
> affected by the change of s2 domain. So, this just flushes the entire
> device iotlb on the device.
>
> As above, driver loops the s2 domain's s1_domains list and loops the devices
> list of each s1_domain to flush the entire device iotlb on the devices.
>
> Fixes: b41e38e22539 ("iommu/vt-d: Add nested domain allocation")
> Signed-off-by: Yi Liu <yi.l.liu@xxxxxxxxx>

Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>