aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/pgtable.h
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2019-08-23 13:03:55 +0100
committerWill Deacon <will@kernel.org>2019-08-27 17:38:30 +0100
commiteb6a4dcce33925ac95023bbe5199474f8db40ba7 (patch)
treec75346356d59dbfcd1cff2c8dfd3d74803c979e0 /arch/arm64/include/asm/pgtable.h
parentarm64: tlb: Ensure we execute an ISB following walk cache invalidation (diff)
downloadlinux-dev-eb6a4dcce33925ac95023bbe5199474f8db40ba7.tar.xz
linux-dev-eb6a4dcce33925ac95023bbe5199474f8db40ba7.zip
arm64: mm: Add ISB instruction to set_pgd()
Commit 6a4cbd63c25a ("Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}"") reintroduced ISB instructions to some of our page table setter functions in light of a recent clarification to the Armv8 architecture. Although 'set_pgd()' isn't currently used to update a live page table, add the ISB instruction there too for consistency with the other macros and to provide some future-proofing if we use it on live tables in the future. Reported-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to '')
-rw-r--r--arch/arm64/include/asm/pgtable.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index feda7294320c..2faa77635942 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -605,6 +605,7 @@ static inline void set_pgd(pgd_t *pgdp, pgd_t pgd)
WRITE_ONCE(*pgdp, pgd);
dsb(ishst);
+ isb();
}
static inline void pgd_clear(pgd_t *pgdp)