Re: [PATCH v2] x86/mm: warn on W+x mappings

From: Ingo Molnar
Date: Tue Oct 06 2015 - 03:32:14 EST



* Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:

> On 10/03/2015 07:27 AM, Ingo Molnar wrote:
> >
> > * Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
> >
> >> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> >> index 30564e2..f8b1573 100644
> >> --- a/arch/x86/mm/init_64.c
> >> +++ b/arch/x86/mm/init_64.c
> >> @@ -1150,6 +1150,8 @@ void mark_rodata_ro(void)
> >> free_init_pages("unused kernel",
> >> (unsigned long) __va(__pa_symbol(rodata_end)),
> >> (unsigned long) __va(__pa_symbol(_sdata)));
> >> +
> >> + debug_checkwx();
> >
> > Any reason to not do this on NX capable 32-bit kernels as well?
>
> Done in v3. However, I do see lots of W+X mappings there.

Ha! That's a debug check plan gone very well! :)

> [ 1.012796] WARNING: CPU: 1 PID: 1 at arch/x86/mm/dump_pagetables.c:225 note_page+0x65d/0x840()
> [ 1.012803] x86/mm: Found insecure W+X mapping at address f4a00000/0xf4a00000

What does this range correspond to on your kernel?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/