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

From: Mike Rapoport
Date: Tue Aug 31 2021 - 04:56:19 EST


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?

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

--
Sincerely yours,
Mike.