PM: hibernate: Complain about memory map mismatches during resume
authorXueqin Luo <luoxueqin@kylinos.cn>
Fri, 11 Nov 2022 05:19:49 +0000 (13:19 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 1 Dec 2022 18:20:14 +0000 (19:20 +0100)
commit3363e0adb3931e987caa6404327b35ea2db231d8
tree0b09e9165dcedb69e0e06673e4e4d3414128c4c4
parent6e5d7300cbe7c3541bc31f16db3e9266e6027b4b
PM: hibernate: Complain about memory map mismatches during resume

The system memory map can change over a hibernation-restore cycle due
to a defect in the platform firmware, and some of the page frames used
by the kernel before hibernation may not be available any more during
the subsequent restore which leads to the error below.

[  T357] PM: Image loading progress:   0%
[  T357] PM: Read 2681596 kbytes in 0.03 seconds (89386.53 MB/s)
[  T357] PM: Error -14 resuming
[  T357] PM: Failed to load hibernation image, recovering.
[  T357] PM: Basic memory bitmaps freed
[  T357] OOM killer enabled.
[  T357] Restarting tasks ... done.
[  T357] PM: resume from hibernation failed (-14)
[  T357] PM: Hibernation image not present or could not be loaded.

Add an error message to the unpack() function to allow problematic
page frames to be identified and the source of the problem to be
diagnosed more easily. This can save developers quite a bit of
debugging time.

Signed-off-by: Xueqin Luo <luoxueqin@kylinos.cn>
[ rjw: New subject, edited changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/power/snapshot.c