Re: [PATCH 0/2] Improve dmesg output for swapfile+hibernation

From: Christoph Hellwig
Date: Mon May 27 2024 - 09:03:34 EST


On Mon, May 27, 2024 at 12:51:07PM +0000, Sukrit.Bhatnagar@xxxxxxxx wrote:
> In my understanding, the resume offset in hibernate is used as follows.
>
> Suspend
> - Hibernate looks up the swap/swapfile using the details we pass in the
> sysfs entries, in the function swsusp_swap_check():
> * /sys/power/resume - path/uuid/major:minor of the swap partition (or
> non-swap partition for swapfile)
> * /sys/power/resume_offset - physical offset of the swapfile in that
> partition
> * If no resume device is specified, it just uses the first available swap!
> - It then proceeds to write the image to the specified swap.
> (The allocation of swap pages is done by the swapfile code internally.)

Where "it" is userspace code? If so, that already seems unsafe for
a swap device, but definitely is a no-go for a swapfile.

> - Hibernate gets the partition and offset values from kernel command-line
> parameters "resume" and "resume_offset" (which must be set from
> userspace, not ideal).

Or is it just for these parameters? In which case we "only" need to
specify the swap file, which would then need code in the file system
driver to resolve the logical to physical mapping as swap files don't
need to be contiguous.