]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
iommu/arm-smmu: Ensure that page-table updates are visible before TLBI
authorWill Deacon <will.deacon@arm.com>
Mon, 1 Oct 2018 11:42:49 +0000 (12:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:12:48 +0000 (11:12 -0800)
commiteddf6140dbeadd3cb336214f24ee2edb1bb263fd
treec6aff9414368ec6e4fc2d46a299af3fc62d8ccf4
parent220720a431bfe42cb00d9d0b7583657df7c82e4b
iommu/arm-smmu: Ensure that page-table updates are visible before TLBI

commit 7d321bd3542500caf125249f44dc37cb4e738013 upstream.

The IO-pgtable code relies on the driver TLB invalidation callbacks to
ensure that all page-table updates are visible to the IOMMU page-table
walker.

In the case that the page-table walker is cache-coherent, we cannot rely
on an implicit DSB from the DMA-mapping code, so we must ensure that we
execute a DSB in our tlb_add_flush() callback prior to triggering the
invalidation.

Cc: <stable@vger.kernel.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Fixes: 2df7a25ce4a7 ("iommu/arm-smmu: Clean up DMA API usage")
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iommu/arm-smmu.c