On Thu, Apr 25, 2013 at 3:01 PM, H. Peter Anvin <[email protected]> wrote:
> On 04/25/2013 02:54 PM, Kees Cook wrote:
>> This continues to build on the tip/kaslr patches for KASLR. This series
>> converts the logic to C, and moves both relocation and address selection
>> into the decompress_kernel path. Several areas were refactored to allow
>> for some code reuse (e.g. CPU flags, kernel command line).
>>
>> This does not yet attempt to rework the page tables to handle an arbitrary
>> physical memory location on x86_64. I would love some suggestions on
>> how to do this. :)
>>
>
> We *should* already support arbitrary physical memory locations at least
> in the kernel proper (the decompressor might need some work.)
>
> We may want to do in the decompressor what we already do in the kernel,
> and set up a #PF handler which creates page tables on demand.  That way
> you can simply treat the entire memory space as a single linear space.

I'll need to compare the logic used for that against what's in
head_64.S for setting up the initial tables. And mapping the kernel
chunk as not 1-to-1, etc.

In the meantime, I'll send a v4 series with the other identified
changes since everything else (up to the 64-bit phy/virt detachment)
seems to be working.

-Kees

--
Kees Cook
Chrome OS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to