On Jan 14, 2015 7:57 AM, "Theo de Raadt" <dera...@cvs.openbsd.org> wrote:
>
> Mike Larkin has been slow at informing the world, despite my prodding.
> Probably started working on something else cool...
>
> So.. I am going to take it upon myself to sing praise to him, and
> hopefully he'll let me off lightly!
>
> Over the last two months Mike modified the amd64 kernel to follow the
> W^X principles.  It started as a humble exercise to fix the .rodata
> segment, and kind of went crazy.  As a result, no part of the kernel
> address space is writeable and executable simultaneously.  At least
> that is the idea, modulo mistakes.  Final attention to detail (which
> some of you experienced in buggy drafts in snapshots) was to make the
> MP and ACPI trampolines follow W^X, furthermore they are unmapped when
> not required.
>
> Some further amd64-specific page attribute improvements snuck in.  Too
> complicated to describe simply.
>
> I followed along for the ride and improved the situation on other
> architectures, mostly MI improvements so the right requests would be
> made to the MD layers.  Final picture is many architectures were
> improved, but amd64 and sparc64 look the best due to MMU features
> available to service the W^X model.  The entire safety model is also
> improved by a limited form of kernel ASLR (the code segment does not
> move around yet, but data and page table ASLR is fairly good.  There
> are some known pages, but hopefully fewer in the future).
>

That's an amazing feat ! Well done Mike !!

Reply via email to