Thread (29 messages) 29 messages, 3 authors, 2024-12-11

Re: [RFC PATCH 12/16] arm64: mm: Map p4d/pgd with privileged pkey

From: Kevin Brodsky <hidden>
Date: 2024-12-10 09:28:05
Also in: linux-hardening, lkml

On 09/12/2024 11:24, Peter Zijlstra wrote:
On Fri, Dec 06, 2024 at 10:11:06AM +0000, Kevin Brodsky wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help