summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorYu Zhang <zhangyu1@linux.microsoft.com>2026-02-03 16:29:34 +0800
committerJoerg Roedel <joerg.roedel@amd.com>2026-02-03 14:36:21 +0100
commitb48ca920613858b477f75946907e72c74570af05 (patch)
tree387bd80e1ecd5c6152e5b19b9c4b9f38ec634a82 /include/uapi
parent12248a3862d50ef1a889153bb222d10d43e78c9d (diff)
iommupt: Always add IOVA range to iotlb_gather in gather_range_pages()
Add current (iova, len) to the iotlb gather, regardless of the setting of PT_FEAT_FLUSH_RANGE or PT_FEAT_FLUSH_RANGE_NO_GAPS. In gather_range_pages(), the current IOVA range is only added to iotlb_gather when PT_FEAT_FLUSH_RANGE is set. Yet a virtual IOMMU with NpCache uses only PT_FEAT_FLUSH_RANGE_NO_GAPS. In that case, iotlb_gather will stay empty (start=ULONG_MAX, end=0) after initialization, and the current (iova, len) will not be added to the iotlb_gather, causing subsequent iommu_iotlb_sync() to perform IOTLB invalidation with wrong parameters (e.g., amd_iommu_iotlb_sync() computes size from gather->end - gather->start + 1, leading to an invalid range). The disjoint check and sync for PT_FEAT_FLUSH_RANGE_NO_GAPS remain unchanged: when the new range is disjoint from the existing gather, we still sync first and then add the new range, so semantics for NO_GAPS are preserved. Fixes: 7c53f4238aa8 ("iommupt: Add unmap_pages op") Cc: stable@vger.kernel.org Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Yu Zhang <zhangyu1@linux.microsoft.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions