[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201105271821.34325.rjw@sisk.pl>
Date: Fri, 27 May 2011 18:21:33 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Dan Rosenberg <drosenberg@...curity.com>
Cc: "H. Peter Anvin" <hpa@...or.com>, Tony Luck <tony.luck@...il.com>,
linux-kernel@...r.kernel.org, davej@...hat.com,
kees.cook@...onical.com, davem@...emloft.net, eranian@...gle.com,
torvalds@...ux-foundation.org, adobriyan@...il.com,
penberg@...nel.org, Arjan van de Ven <arjan@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Valdis.Kletnieks@...edu, Ingo Molnar <mingo@...e.hu>,
pageexec@...email.hu
Subject: Re: [RFC][PATCH] Randomize kernel base address on boot
On Friday, May 27, 2011, Dan Rosenberg wrote:
> On Thu, 2011-05-26 at 15:32 -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?
> >
> > -hpa
>
> Am I understanding it correctly that hibernation is currently operating
> under a possibly false assumption? If it's the case that hibernation
> should be saving the physical address at which the kernel was previously
> loaded and restoring it there regardless of randomization, it would
> certainly help me out if someone familiar with the code could take a
> stab at that.
It rather has to save the address where to jump into the image kernel from
the boot kernel, but ISTR that's not straightforward. I thought about
implementing something like this some time ago, but finally I didn't have
the time to finish that work.
At the moment I'm preparing for a trip to Japan, so I'll be able to work on
this with you when I get back home (some time next weekend). In the
meantime, please have a look at arch/x86/power/hibernate_64.c and
arch/x86/power/hibernate_asm_64.S.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists