Re: [kernel-hardening] [PATCH 0/2] introduce post-init read-only memory

From: Andy Lutomirski
Date: Fri Nov 27 2015 - 15:09:50 EST


On Fri, Nov 27, 2015 at 12:03 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> On Fri, Nov 27, 2015 at 10:00 AM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>> On Thu, Nov 26, 2015 at 11:59 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>>>
>>> * Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>>>
>>>> > Can you see any fragility in such a technique?
>>>>
>>>> After Linus shot down my rdmsr/rwmsr decoding patch, good luck...
>>>
>>> I think that case was entirely different, but I've Cc:-ed Linus to shoot my idea
>>> down if it's crap.
>>
>> Yeah, no, I hate it. I'm with the PaX team on this one - I think there
>> are three valid responses, and I think we might want to have a dynamic
>> config option (kernel command line or proc or whatever) to pick
>> between the two:
>>
>> - just oops and kill the machine, like for any other unhandled kernel
>> page fault. This is probably what you should have on a server
>
> This is how the v2 series works now.
>
>> - print a warning and a backtrace, and just mark the page read-write
>> so that the machine survives, but we get notified and can fix whatever
>> broken code
>
> This seems very easy to add. Should I basically reverse the effects of
> mark_rodata_ro(), or should I only make the new ro-after-init section
> as RW? (I think the former would be easier.)

I'd suggest verifying that the page in question is
.data..ro_after_init and, if so, marking that one page RW.

--Andy
--
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/