Re: [PATCH 1/3] x86: Honour passed pgprot in track_pfn_insert() and track_pfn_remap()

From: Ingo Molnar
Date: Tue Feb 09 2016 - 09:24:53 EST



* Matthew Wilcox <willy@xxxxxxxxxxxxxxx> wrote:

> > I sure hope not. If vm_page_prot was writable, something was already broken,
> > because this is the vvar mapping, and the vvar mapping is VM_READ (and not
> > even VM_MAYREAD).
>
> I do beg yor pardon. I thought you were inserting a readonly page into the
> middle of a writable mapping. Instead you're inserting a non-executable page
> into the middle of a VM_READ | VM_EXEC mapping. Sorry for the confusion. I
> should have written:
>
> "like your patch ends up mapping the HPET into userspace executable"
>
> which is far less exciting.

Btw., a side note, an executable HPET page has its own dangers as well, for
example because it always changes in value, it can probabilistically represent
'sensible' (and dangerous) executable x86 instructions that exploits can return
to.

So only mapping it readable (which Andy's patch attempts I think) is worthwile.

Thanks,

Ingo