Thread (11 messages) 11 messages, 3 authors, 2023-10-13

Re: [PATCH v8 0/7] Support page table check

From: Christophe Leroy <hidden>
Date: 2023-10-13 10:58:12


Le 16/02/2023 à 00:11, Rohan McLure a écrit :
Support the page table check sanitiser on all PowerPC platforms. This
sanitiser works by serialising assignments, reassignments and clears of
page table entries at each level in order to ensure that anonymous
mappings have at most one writable consumer, and likewise that
file-backed mappings are not simultaneously also anonymous mappings.

In order to support this infrastructure, a number of stubs must be
defined for all powerpc platforms. Additionally, seperate set_pte_at
and set_pte, to allow for internal, uninstrumented mappings.
This series doesn't apply, can you rebase if still applicable ?

Thanks
Christophe
v8:
  * Fix linux/page_table_check.h include in asm/pgtable.h breaking
    32-bit.

v7:
  * Remove use of extern in set_pte prototypes
  * Clean up pmdp_collapse_flush macro
  * Replace set_pte_at with static inline function
  * Fix commit message for patch 7
Link: https://lore.kernel.org/linuxppc-dev/20230215020155.1969194-1-rmclure@linux.ibm.com/ (local)

v6:
  * Support huge pages and p{m,u}d accounting.
  * Remove instrumentation from set_pte from kernel internal pages.
  * 64s: Implement pmdp_collapse_flush in terms of __pmdp_collapse_flush
    as access to the mm_struct * is required.
Link: https://lore.kernel.org/linuxppc-dev/20230214015939.1853438-1-rmclure@linux.ibm.com/ (local)

v5:
Link: https://lore.kernel.org/linuxppc-dev/20221118002146.25979-1-rmclure@linux.ibm.com/ (local)

Rohan McLure (7):
   powerpc: mm: Separate set_pte, set_pte_at for internal, external use
   powerpc/64s: mm: Introduce __pmdp_collapse_flush with mm_struct
     argument
   powerpc: mm: Replace p{u,m,4}d_is_leaf with p{u,m,4}_leaf
   powerpc: mm: Implement p{m,u,4}d_leaf on all platforms
   powerpc: mm: Add common pud_pfn stub for all platforms
   powerpc: mm: Add p{te,md,ud}_user_accessible_page helpers
   powerpc: mm: Support page table check

  arch/powerpc/Kconfig                         |  1 +
  arch/powerpc/include/asm/book3s/32/pgtable.h | 17 +++-
  arch/powerpc/include/asm/book3s/64/pgtable.h | 85 +++++++++++++-------
  arch/powerpc/include/asm/book3s/pgtable.h    |  3 +-
  arch/powerpc/include/asm/nohash/32/pgtable.h | 12 ++-
  arch/powerpc/include/asm/nohash/64/pgtable.h | 24 +++++-
  arch/powerpc/include/asm/nohash/pgtable.h    |  9 ++-
  arch/powerpc/include/asm/pgtable.h           | 60 +++++++++-----
  arch/powerpc/kvm/book3s_64_mmu_radix.c       | 12 +--
  arch/powerpc/mm/book3s64/hash_pgtable.c      |  2 +-
  arch/powerpc/mm/book3s64/pgtable.c           | 16 ++--
  arch/powerpc/mm/book3s64/radix_pgtable.c     | 24 +++---
  arch/powerpc/mm/nohash/book3e_pgtable.c      |  2 +-
  arch/powerpc/mm/pgtable.c                    |  9 +--
  arch/powerpc/mm/pgtable_32.c                 |  2 +-
  arch/powerpc/mm/pgtable_64.c                 |  6 +-
  arch/powerpc/xmon/xmon.c                     |  6 +-
  17 files changed, 197 insertions(+), 93 deletions(-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help