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/

