summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2019-08-22 17:03:45 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-05 14:10:07 +0300
commit8cfe3b8aa3b64df01db1a92641d3989e2788b896 (patch)
treed3bd1e436155f460177c39b7a9ba7ddef34ac68b
parentfc7d6bfdd774a3ac93a3c18f28a574f429b6fcf2 (diff)
downloadlinux-8cfe3b8aa3b64df01db1a92641d3989e2788b896.tar.xz
arm64: tlb: Ensure we execute an ISB following walk cache invalidation
commit 51696d346c49c6cf4f29e9b20d6e15832a2e3408 upstream. 05f2d2f83b5a ("arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable") added a new TLB invalidation helper which is used when freeing intermediate levels of page table used for kernel mappings, but is missing the required ISB instruction after completion of the TLBI instruction. Add the missing barrier. Cc: <stable@vger.kernel.org> Fixes: 05f2d2f83b5a ("arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable") Reviewed-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/arm64/include/asm/tlbflush.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h
index a4a1901140ee..fc247b96619c 100644
--- a/arch/arm64/include/asm/tlbflush.h
+++ b/arch/arm64/include/asm/tlbflush.h
@@ -224,6 +224,7 @@ static inline void __flush_tlb_kernel_pgtable(unsigned long kaddr)
__tlbi(vaae1is, addr);
dsb(ish);
+ isb();
}
#endif