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

From: Rafael J. Wysocki
Date: Fri May 27 2011 - 12:10:39 EST


On Friday, May 27, 2011, Ingo Molnar wrote:
>
> * Dave Jones <davej@xxxxxxxxxx> wrote:
>
> > On Thu, May 26, 2011 at 03:32:13PM -0700, H. Peter Anvin wrote:
> > > On 05/26/2011 03:18 PM, Rafael J. Wysocki wrote:
> > > >
> > > > Well, as far as I can tell, this feature is going to break hibernation on
> > > > both x86_32 and x86_64 at the moment, unless you can guarantee that the
> > > > randomized kernel location will be the same for both the boot and the target
> > > > kernels.
> > > >
> > >
> > > Obviously we can't and we don't. I'm a bit surprised at that
> > > constraint... how can that constraint not break things like kernels of
> > > slightly different size?
> >
> > In Fedora at least, we make sure the kernel you thaw from is the
> > same one you booted by diddling with grub to force the right kernel
> > to be booted.
>
> Btw., the hibernation code should save a signature and make sure that
> the two kernels match! It's really broken if the code allows blind
> thawing ...

It uses signatures, but on x86_64 you actually can use a different kernel
for loading the image, with some limitations.

I'd like to add a mechanism for passing the jump address into the hibernated
kernel in the kernel image, but that part is still missing.

Thanks,
Rafael
--
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/