On 09.07.25 15:16, Harry Yoo wrote:
Intrdocue and use {pgd,p4d}_pouplate_kernel() in core MM code when populating PGD and P4D entries corresponding to the kernel address space. The main purpose of these helpers is to ensure synchronization of the kernel portion of the top-level page tables whenever such an entry is populated.
Until now, the kernel has relied on each architecture to handle synchronization of top-level page tables in an ad-hoc manner. For example, see commit 9b861528a801 ("x86-64, mem: Update all PGDs for direct mapping and vmemmap mapping changes").
However, this approach has proven fragile, as it's easy to forget to perform the necessary synchronization when introducing new changes.
To address this, introduce _kernel() varients of the page table
s/varients/variants/
population helpers that invoke architecture-specific hooks to properly synchronize the page tables.
I was expecting to see the sync be done in common code -- such that it cannot be missed :)
But it's really just rerouting to the arch code where the sync can be done, correct?