Re: [RFC] swap image signature check upon resume

From: Borislav Petkov
Date: Fri Dec 07 2007 - 07:42:44 EST


On Thu, Dec 06, 2007 at 10:46:48PM +0100, Rafael J. Wysocki wrote:
> On Thursday, 6 of December 2007, Borislav Petkov wrote:
> > Hi Pavel,
> > hi Rafael,
> >
> > after a quick search i couldn't find anything dealing with the topic in the
> > subject line so here we go:
> >
> > One sometimes can mix up (and by one i mean me) the
> > kernel images one boots after having suspended the machine previously. There can
> > be at least two reasons for that:
> >
> > 1. too many kernels in grub and having forgotten with which i suspended.
> > 2. compile and install a new kernel and forget about it, suspend in the evening
> > and then boot with the new kernel;
> >
> > in both cases you end up staring at fsck since they filesystems haven't been unmounted,
> > of course. Or at least see the warning message of some journal recovery whisk away.
> >
> > In order to alleviate that, one could probably go, imho, and write in the swsusp_header
> > the kernel version which suspended the machine (UTS_RELEASE) alongside
> > SWSUSP_SIG and check that against the kernel version of the image just booting.
> > If they match then all is well, if not, one could
> >
> > a) issue a BIG FAT WARNING and reboot telling the user to select the proper
> > image
> > b) ask the user what to do:
> > - proceed as if "noresume" has been entered on the kernel command line
> > - reboot after issuing the kernel version which suspended the machine
> > -
> > c)...
> >
> > In case you guys think something like that might be of use i can come up with a
> > patch in the next coupla days...
>
> Well, there's a patchset in the current mainline that allows you to use
> arbitrary (sufficiently new) kernel to load the image and then restore the
> image kernel. So, you can hibernate 2.6.24-rc3 and use 2.6.24-rc2 to restore
> it, for example.
>
> I'm going to do that for i386 too.
right, this is d307c4a8e826c44f9633bd3f7e60d0491e7d885a (Hibernation: Arbitrary
boot kernel support - generic code), i should've seen that. What's the status of
those bits, from a quick scan it seems they need some rewiring (Kconfig, e.g.
CONFIG_ARCH_HIBERNATION_HEADER etc..) and arch-specific save and restore
functions?

--
Regards/Gruß,
Boris.
--
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/