summaryrefslogtreecommitdiff
path: root/drivers/irqchip/spear-shirq.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-07-27 13:29:05 +0100
committerThierry Reding <treding@nvidia.com>2015-08-13 16:06:37 +0200
commitb98e34f0c6f1c4ac7af41afecc4a26f5f2ebe68d (patch)
treed9be0064cc9b838dff0aef519dc7d903a9808d19 /drivers/irqchip/spear-shirq.c
parent9113785c3e918187b6b0c084c60e0344a2f1685c (diff)
iommu/tegra-smmu: Fix unmap() method
The Tegra SMMU unmap path has several problems: 1. as_pte_put() can perform a write-after-free 2. tegra_smmu_unmap() can perform cache maintanence on a page we have just freed. 3. when a page table is unmapped, there is no CPU cache maintanence of the write clearing the page directory entry, nor is there any maintanence of the IOMMU to ensure that it sees the page table has gone. Fix this by getting rid of as_pte_put(), and instead coding the PTE unmap separately from the PDE unmap, placing the PDE unmap after the PTE unmap has been completed. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/irqchip/spear-shirq.c')
0 files changed, 0 insertions, 0 deletions