Commit 6fd492fd authored by Shuah Khan's avatar Shuah Khan Committed by Joerg Roedel
Browse files

iommu: Fix trace_unmap() to report original iova



iommu_unmap() calls trace_unmap() with changed iova and original
size. trace_unmap() should report original iova instead. Change
iommu_unmap() to call trace_unmap() with original iova.

Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
Reported-by: default avatarAlex Williamson <alex.williamson@redhat.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 0fb5fe87
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1094,6 +1094,7 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
{
	size_t unmapped_page, unmapped = 0;
	unsigned int min_pagesz;
	unsigned long orig_iova = iova;

	if (unlikely(domain->ops->unmap == NULL ||
		     domain->ops->pgsize_bitmap == 0UL))
@@ -1133,7 +1134,7 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
		unmapped += unmapped_page;
	}

	trace_unmap(iova, 0, size);
	trace_unmap(orig_iova, 0, size);
	return unmapped;
}
EXPORT_SYMBOL_GPL(iommu_unmap);