Re: [RFC PATCH v2 16/19] x86/mm: Protect page tables with PKS

From: Edgecombe, Rick P
Date: Tue Aug 31 2021 - 13:57:23 EST


On Tue, 2021-08-31 at 11:56 +0300, Mike Rapoport wrote:
> On Mon, Aug 30, 2021 at 04:59:24PM -0700, Rick Edgecombe wrote:
> > Write protect page tables with PKS. Toggle writeability inside the
> > pgtable.h defined page table modifiction functions.
> >
> > Do not protect the direct map page tables as it is more complicated
> > and
> > will come in a later patch.
> >
> > Signed-off-by: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx>
> > ---
> > arch/x86/boot/compressed/ident_map_64.c | 5 ++
> > arch/x86/include/asm/pgtable.h | 18 ++++++-
> > arch/x86/include/asm/pgtable_64.h | 33 ++++++++++--
> > arch/x86/include/asm/pkeys_common.h | 1 -
> > arch/x86/mm/pgtable.c | 71
> > ++++++++++++++++++++++---
> > arch/x86/mm/pkeys.c | 1 +
> > include/linux/pkeys.h | 1 +
> > mm/Kconfig | 6 +++
> > 8 files changed, 123 insertions(+), 13 deletions(-)
>
>
> ...
>
> > diff --git a/mm/Kconfig b/mm/Kconfig
> > index 4184d0a7531d..0f8e8595a396 100644
> > --- a/mm/Kconfig
> > +++ b/mm/Kconfig
> > @@ -845,6 +845,12 @@ config ARCH_ENABLE_SUPERVISOR_PKEYS
> > def_bool y
> > depends on PKS_TEST || GENERAL_PKS_USER
> >
> > +config PKS_PG_TABLES
> > + bool "PKS write protected page tables"
> > + select GENERAL_PKS_USER
> > + depends on !HIGHMEM && !X86_PAE && SPARSEMEM_VMEMMAP
>
> Hmm, why is this x86-only feature is in mm/Kconfig?
>
Yes, this should move, thanks. Ira did some Kconfig re-arranging in pks
core v7 that should make this easy now.

> > + depends on ARCH_HAS_SUPERVISOR_PKEYS
> > +
> > config PERCPU_STATS
> > bool "Collect percpu memory statistics"
> > help
> > --
> > 2.17.1
> >
>
>