Re: [PATCH v2] x86/mm: avoid premature success when changing page attributes

From: Ingo Molnar
Date: Tue Feb 09 2016 - 09:30:16 EST



* Jan Beulich <JBeulich@xxxxxxxx> wrote:

> >>> On 28.01.16 at 09:42, <mingo@xxxxxxxxxx> wrote:
> > Could we try a v3?
>
> Okay, I withdraw the patch: Upon further consideration it is note really clear
> what the intended behavior of set_memory_*() on address ranges with mapping
> holes is supposed to be. The original issue was with set_memory_nx() (called
> from mark_rodata_ro()) stumbling across an unmapped region (resulting from an
> out of tree change completely unmapping the kernel mappings of address ranges
> passed to free_init_pages()). [...]

So it still looks like a legitimate fix to me, even though your testcase was in an
out of tree context:

> [...] I simply don't have the time to check whether the unmapping done with
> CONFIG_DEBUG_PAGEALLOC would have a similar effect. The net result in any event
> were pages (past the hole) reported as problematic when CONFIG_DEBUG_WX is
> enabled.

Adding all the above information to the changelog addresses most of my complaints
about it. You can also rephrase the DEBUG_PAGEALLOC bit to something like:

I'm not completely sure about whether the unmapping done with
CONFIG_DEBUG_PAGEALLOC would have a similar effect.

as it's perfectly fine to submit fixes you couldn't fully test.

Thanks,

Ingo