Re: next-20170515: WARNING: CPU: 0 PID: 1 at arch/x86/mm/dump_pagetables.c:236 note_page+0x630/0x7e0

From: Andy Lutomirski
Date: Fri May 19 2017 - 15:19:14 EST


On Fri, May 19, 2017 at 12:16 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> On Fri, May 19, 2017 at 11:27 AM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>> One thing I've pondered: can we make some debugging mode (kmemleak,
>> perhaps?) check that freed memory is RW at the time it's freed? I
>> once wrote some buggy code that freed an R page and caused an OOPS
>> much later, and this bug here seems likely to be some code that frees
>> RWX memory.
>
> Which begs for even more checks: nothing should ever make a page RWX.
> Either R, RW, or RX only... (or X too I guess, in the future).

I could see pages being RWX temporarily during boot. OTOH if we ban
RWX outright (after very early boot, anyway), then catching code that
messes up and leaves pages RWX gets much easier.

--Andy