mirror of https://gitee.com/openkylin/linux.git
7c29ada5e7
iommu_flush_dev_iotlb() is called to invalidate caches on a device but
only loops over the devices which are fully-attached to the domain. For
sub-devices, this is ineffective and can result in invalid caching
entries left on the device.
Fix the missing invalidation by adding a loop over the subdevices and
ensuring that 'domain->has_iotlb_device' is updated when attaching to
subdevices.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
debugfs.c | ||
dmar.c | ||
iommu.c | ||
irq_remapping.c | ||
pasid.c | ||
pasid.h | ||
svm.c | ||
trace.c |