OSDN Git Service

iommu: Fix trace_map() to report original iova and original size
authorShuah Khan <shuahkh@osg.samsung.com>
Fri, 16 Jan 2015 02:29:43 +0000 (19:29 -0700)
committerDavid Keitel <dkeitel@codeaurora.org>
Tue, 22 Mar 2016 18:14:46 +0000 (11:14 -0700)
iommu_map() calls trace_map() with iova and size. trace_map()
should report original iova and original size as opposed to
iova and size after they get changed during mapping. size is
always zero at the end of mapping which is useless to report
and iova as it gets incremented, it is not as useful as the
original iova. Change iommu_map() to call trace_map() to
report original iova and original size.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Reported-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/iommu.c

index 0e7aeb4..63ec9e4 100644 (file)
@@ -1147,7 +1147,7 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
        if (ret)
                iommu_unmap(domain, orig_iova, orig_size - size);
        else
-               trace_map(iova, paddr, size);
+               trace_map(orig_iova, paddr, orig_size);
 
        trace_map_end(iova, paddr, size);
        return ret;