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

Rafael J. Wysocki
2011-05-27T16:10:36Z

On Friday, May 27, 2011, Ingo Molnar wrote:
>
> * Dave Jones <davej@redhat.com> 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