]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PM: hibernate: Emit an error when image writing fails
authorMario Limonciello (AMD) <superm1@kernel.org>
Thu, 6 Nov 2025 04:51:05 +0000 (22:51 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Nov 2025 09:36:03 +0000 (10:36 +0100)
commit 62b9ca1706e1bbb60d945a58de7c7b5826f6b2a2 upstream.

If image writing fails, a return code is passed up to the caller, but
none of the callers log anything to the log and so the only record
of it is the return code that userspace gets.

Adjust the logging so that the image size and speed of writing is
only emitted on success and if there is an error, it's saved to the
logs.

Fixes: a06c6f5d3cc9 ("PM: hibernate: Move to crypto APIs for LZO compression")
Reported-by: Askar Safin <safinaskar@gmail.com>
Closes: https://lore.kernel.org/linux-pm/20251105180506.137448-1-safinaskar@gmail.com/
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
Tested-by: Askar Safin <safinaskar@gmail.com>
Cc: 6.9+ <stable@vger.kernel.org> # 6.9+
[ rjw: Added missing braces after "else", changelog edits ]
Link: https://patch.msgid.link/20251106045158.3198061-2-superm1@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/power/swap.c

index 82b884b67152fd1847c0d9b8369950d22b710ab7..d57ba3fd26e921e00c799ed5a94bd83a19e11c65 100644 (file)
@@ -882,11 +882,14 @@ out_finish:
        stop = ktime_get();
        if (!ret)
                ret = err2;
-       if (!ret)
+       if (!ret) {
+               swsusp_show_speed(start, stop, nr_to_write, "Wrote");
+               pr_info("Image size after compression: %d kbytes\n",
+                       (atomic_read(&compressed_size) / 1024));
                pr_info("Image saving done\n");
-       swsusp_show_speed(start, stop, nr_to_write, "Wrote");
-       pr_info("Image size after compression: %d kbytes\n",
-               (atomic_read(&compressed_size) / 1024));
+       } else {
+               pr_err("Image saving failed: %d\n", ret);
+       }
 
 out_clean:
        hib_finish_batch(&hb);