Re: [RFC][PATCH] Randomize kernel base address on boot

H. Peter Anvin
2011-05-27T21:38:13Z

On 05/27/2011 11:05 AM, Linus Torvalds wrote:
>
> You can load the kernel at the same virtual address we always load it,
> and/or perhaps shift it up by just small amounts (ie "single pages"
> rather than "ten bits worth of pages")
>
> And then rely on the fact that you mixed up symbols in other ways.
>

OK, here is a bat-shit-crazy idea... an all-module kernel where nothing
except init code is prelinked at all.

If we could modularize the core code we could have init code load the
modules at all kinds of random addresses; they wouldn't even need to be
contiguous in memory, and since we'd have full access to the memory
layout at that point, we can randomize the **** out of *everything*.

-hpa