Re: [PATCH v17 00/12] Support page table check on PowerPC
From: Andrew Donnellan <hidden>
Date: 2025-09-25 22:43:02
Also in:
linux-arm-kernel, linux-mm, linux-riscv, lkml
From: Andrew Donnellan <hidden>
Date: 2025-09-25 22:43:02
Also in:
linux-arm-kernel, linux-mm, linux-riscv, lkml
Hi Andrew, On Tue, 2025-09-09 at 19:13 +1000, Andrew Donnellan wrote:
Support page table check on all PowerPC platforms. This 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 helpers or stubs must be
defined or updated for all powerpc platforms. Additionally, we separate
set_pte_at() and set_pte_at_unchecked(), to allow for internal, uninstrumented
mappings.
On some PowerPC platforms, implementing {pte,pmd,pud}_user_accessible_page()
requires the address. We revert previous changes that removed the address
parameter from various interfaces, and add it to some other interfaces,
in order to allow this.
Note that on 32 bit systems with CONFIG_KFENCE=y, you need [0] to avoid
possible failures in init code (this is a code patching/static keys issue,
which was discovered by a user testing this series but isn't a bug in page
table check).
(This series was initially written by Rohan McLure, who has left IBM and
is no longer working on powerpc.)Is this likely to make it in in time for 6.18, or should I respin it post merge window? Thanks, Andrew -- Andrew Donnellan OzLabs, ADL Canberra ajd@linux.ibm.com IBM Australia Limited