Merge patch series "riscv: Use READ_ONCE()/WRITE_ONCE() for pte accesses"
authorPalmer Dabbelt <palmer@rivosinc.com>
Wed, 20 Dec 2023 18:48:17 +0000 (10:48 -0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 20 Dec 2023 18:48:17 +0000 (10:48 -0800)
commite015eb628c450ad54105717848e898c0a1524ea3
tree47127324bca486434bb93f3994d2ebe684bbc840
parent4a6b93f5629668d1dc8fa5945657fdd124629c55
parentedf955647269422e387732870d04fc15933a25ea
Merge patch series "riscv: Use READ_ONCE()/WRITE_ONCE() for pte accesses"

Alexandre Ghiti <alexghiti@rivosinc.com> says:

This series is a follow-up for riscv of a recent series from Ryan [1] which
converts all direct dereferences of pte_t into a ptet_get() access.

The goal here for riscv is to use READ_ONCE()/WRITE_ONCE() for all page
table entries accesses to avoid any compiler transformation when the
hardware can concurrently modify the page tables entries (A/D bits for
example).

I went a bit further and added pud/p4d/pgd_get() helpers as such concurrent
modifications can happen too at those levels.

[1] https://lore.kernel.org/all/20230612151545.3317766-1-ryan.roberts@arm.com/

* b4-shazam-merge:
  riscv: Use accessors to page table entries instead of direct dereference
  riscv: mm: Only compile pgtable.c if MMU
  mm: Introduce pudp/p4dp/pgdp_get() functions
  riscv: Use WRITE_ONCE() when setting page table entries

Link: https://lore.kernel.org/r/20231213203001.179237-1-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>