Re: [PATCH 02/23] x86, kaiser: do not set _PAGE_USER for init_mm page tables

From: Andy Lutomirski
Date: Thu Nov 02 2017 - 03:07:53 EST


On Wed, Nov 1, 2017 at 2:28 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Wed, 1 Nov 2017, Andy Lutomirski wrote:
>
>> On Wed, Nov 1, 2017 at 2:11 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> > 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?
>>
>> The vsyscall page is _PAGE_USER and lives in init_mm via the fixmap.
>
> Groan, forgot about that abomination, but still there is no point in having
> it marked PAGE_USER in the init_mm at all, kaiser or not.
>

How can it be PAGE_USER in user mms but not init_mm? It's the same page table.

> Thanks,
>
> tglx