iommu/amd: Flush IOMMU TLB on __map_single error path
authorJoerg Roedel <jroedel@suse.de>
Mon, 21 Dec 2015 12:14:52 +0000 (13:14 +0100)
committerJoerg Roedel <jroedel@suse.de>
Mon, 28 Dec 2015 16:18:50 +0000 (17:18 +0100)
There have been present PTEs which in theory could have made
it to the IOMMU TLB. Flush the addresses out on the error
path to make sure no stale entries remain.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c

index 8ff3331..42c0a81 100644 (file)
@@ -2493,6 +2493,8 @@ out_unmap:
                dma_ops_domain_unmap(dma_dom, start);
        }
 
+       domain_flush_pages(&dma_dom->domain, address, size);
+
        dma_ops_free_addresses(dma_dom, address, pages);
 
        return DMA_ERROR_CODE;