On 09/12/2024 11:24, Peter Zijlstra wrote: > On Fri, Dec 06, 2024 at 10:11:06AM +0000, Kevin Brodsky wrote: >> If CONFIG_KPKEYS_HARDENED_PGTABLES is enabled, map p4d/pgd pages >> using a privileged pkey (KPKEYS_PKEY_PGTABLES), so that they can >> only be written under guard(kpkeys_hardened_pgtables). >> >> The case where pgd is not page-sized is not currently handled - >> this is pending support for pkeys in kmem_cache. >> >> This patch is a no-op if CONFIG_KPKEYS_HARDENED_PGTABLES is disabled >> (default). > Should not this live in pagetable_*_[cd]tor() in generic code?
This would certainly be preferable but it doesn't look like such helpers exist for p4d/pgd. For p4d, we could potentially handle this in the generic __p4d_alloc(), but I'm not sure we can assume that p4d_alloc_one() won't be called from somewhere else. pgd_alloc() is entirely arch-specific so not much we can do there. - Kevin