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 8ff33314a66840c52997792fcce4787a29f1cae9..42c0a81ba9b37a33a38f9c25cc38088516d02229 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;