Re: [PATCH 02/23] x86, kaiser: do not set _PAGE_USER for init_mm page tables
From: Thomas Gleixner
Date: Wed Nov 01 2017 - 17:11:45 EST
On Tue, 31 Oct 2017, Dave Hansen wrote:
>
> init_mm is for kernel-exclusive use. If someone is allocating page
> tables in it, do not set _PAGE_USER on them. This ensures that
> we do *not* set NX on these page tables in the KAISER code.
This changelog is confusing at best.
Why is this a kaiser issue? Nothing should ever create _PAGE_USER entries
in init_mm, right?
So this is a general improvement and creating a _PAGE_USER entry in init_mm
should be considered a bug in the first place.
> +/*
> + * _KERNPG_TABLE has _PAGE_USER clear which tells the KAISER code
> + * that this mapping is for kernel use only. That makes sure that
> + * we leave the mapping usable by the kernel and do not try to
> + * sabotage it by doing stuff like setting _PAGE_NX on it.
So this comment should not mention KAISER at all. As I explained above
there are no user mappings in init_mm and this should be expressed here.
The fact that KAISER can make use of this information is a different story.
Other than that:
Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Thanks,
tglx