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

Matthew Garrett
2011-05-31T18:51:45Z

On Tue, May 31, 2011 at 11:40:13AM -0700, H. Peter Anvin wrote:
> On 05/31/2011 09:52 AM, Matthew Garrett wrote:
> > The BIOS E820 map, or the kernel representation? In either case, this
> > isn't going to work well with EFI. There are regions that will be marked
> > as available in the E820 map that we *mustn't* touch until we've entered
> > EFI virtual mode.
> >
> > (This is, clearly, insane).
> >
>
> I believe we could (should!) mark them reserved, not available, in the
> E820 map and free them later.

That was my original approach, but it requires that the bootloader be
modified and it turns out that it's a lot harder to hand reserved
regions back to the OS than it is to just reserve it in-kernel. The
complete inflexibility of e820 is massively unhelpful here. It's just
not possible to represent all of the EFI memory map data in it.

--
Matthew Garrett | mjg59@srcf.ucam.org