diff options
author | Will Deacon <will@kernel.org> | 2019-08-23 14:03:55 +0200 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2019-08-27 18:38:30 +0200 |
commit | eb6a4dcce33925ac95023bbe5199474f8db40ba7 (patch) | |
tree | c75346356d59dbfcd1cff2c8dfd3d74803c979e0 /arch/arm64/include/asm/pgtable.h | |
parent | arm64: tlb: Ensure we execute an ISB following walk cache invalidation (diff) | |
download | linux-eb6a4dcce33925ac95023bbe5199474f8db40ba7.tar.xz linux-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 'arch/arm64/include/asm/pgtable.h')
-rw-r--r-- | arch/arm64/include/asm/pgtable.h | 1 |
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) |