intel_iommu: Fix address space unmap
During address space unmap, corresponding IOVA tree entries are also removed. But DMAMap is set beyond notifier's scope by 1, so in theory there is possibility to remove a continuous entry above the notifier's scope but falling in adjacent notifier's scope. There is no issue currently as no use cases allocate notifiers continuously, but let's be robust. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Peter Xu <peterx@redhat.com> Message-Id: <20230615032626.314476-4-zhenzhong.duan@intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
ce735ff033
commit
ebe1504e10
@ -3791,7 +3791,7 @@ static void vtd_address_space_unmap(VTDAddressSpace *as, IOMMUNotifier *n)
|
||||
n->start, size);
|
||||
|
||||
map.iova = n->start;
|
||||
map.size = size;
|
||||
map.size = size - 1; /* Inclusive */
|
||||
iova_tree_remove(as->iova_tree, map);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user