Re: Hibernating To Swap Considered Harmful

From: david
Date: Tue Jul 17 2007 - 02:49:21 EST


On Tue, 17 Jul 2007, Joseph Fannin wrote:

On Tue, Jul 17, 2007 at 07:44:07AM +0200, Oliver Neukum wrote:

If yoi want to go the kexec route to hibernation, the dumping kernel
would need to mount the filesystem to write to a file. Therefore the
suspending kernel would need to sync to disk and lock that file.

If the file is preallocated, that's not a problem, as there's no need
to touch filesystem metadata. There'd need to be some channel to pass
the disk blocks that are for writing the image, but that's not going
to be nearly as complicated as passing the current swap data
structures from the previous kernel.

There's no reason to have that file open in the original kernel --
it should be root-owned (it's full of privledged data) and probably
mode 000.

root is free to "dd if=/dev/random of=/dev/mem". Root owned
daemons which do bad things are bugs.

in this case it would be more like

dd if=/block0 of=/dev/sda1 count=1 bs=4096 skip=5000
dd if=/block1 of=/dev/sda1 count=1 bs=4096 skip=5050
dd if=/block2 of=/dev/sda1 count=1 bs=4096 skip=5400
etc

to write the blocks to the raw parition in the right place

Again, supporting swap files (*which is not optional*) requires the
very same support.

in the kexec model why would the second kernel care about swap files at all? (unles it chooses to write to them, in which case it is exactly the same support, but unless it writes to them it doesn't need to care)

David Lang
-
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/