Re: [PATCH 6/6] x86: kaslr: relocate base offset at boot

From: Yinghai Lu
Date: Mon Apr 15 2013 - 18:00:13 EST


On Mon, Apr 15, 2013 at 2:46 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 04/15/2013 02:41 PM, Kees Cook wrote:

> Please read what I wrote.
>
> The 2 GB limit is for the *virtual* mapping.
>
> The *physical* mapping, where it lands in RAM, is completely
> independent, and if you're going to randomize the latter, there is no
> reason it has to match the former. Instead, randomize it freely.
>
> That is different from the i386 kernel which runs at its
> physical-mapping address.
>
> Incidentally, for performance reasons please avoid locating the kernel
> below CONFIG_PHYSICAL_ADDRESS if possible.
>
> Also make sure your code works with more than 128 e820 entries.

also do not overlap with boot_param, command_line, and initrd.

and need to double check setup_header.init_size to make sure bss and
etc will not
fall into memory hole or reserved area in e820.

also may need to setup page table for target position as bootloader may only
has ident mapping only for loaded bzImage 64 areas.

looks you are trying redo the work for bootloader to pick loaded phys addr.

Thanks

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