]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PM: sleep: Drop spurious WARN_ON() from pm_restore_gfp_mask()
authorYoungjun Park <youngjun.park@lge.com>
Sun, 22 Mar 2026 12:05:28 +0000 (21:05 +0900)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 23 Mar 2026 12:54:53 +0000 (13:54 +0100)
Commit 35e4a69b2003f ("PM: sleep: Allow pm_restrict_gfp_mask()
stacking") introduced refcount-based GFP mask management that warns
when pm_restore_gfp_mask() is called with saved_gfp_count == 0.

Some hibernation paths call pm_restore_gfp_mask() defensively where
the GFP mask may or may not be restricted depending on the execution
path. For example, the uswsusp interface invokes it in
SNAPSHOT_CREATE_IMAGE, SNAPSHOT_UNFREEZE, and snapshot_release().
Before the stacking change this was a silent no-op; it now triggers
a spurious WARNING.

Remove the WARN_ON() wrapper from the !saved_gfp_count check while
retaining the check itself, so that defensive calls remain harmless
without producing false warnings.

Fixes: 35e4a69b2003f ("PM: sleep: Allow pm_restrict_gfp_mask() stacking")
Signed-off-by: Youngjun Park <youngjun.park@lge.com>
[ rjw: Subject tweak ]
Link: https://patch.msgid.link/20260322120528.750178-1-youngjun.park@lge.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/power/main.c

index 5f8c9e12eaec40caeceaf4445f66bc60a37d4687..5429e9f19b655a379cacfd4aeeada098342ef35b 100644 (file)
@@ -40,7 +40,7 @@ void pm_restore_gfp_mask(void)
 {
        WARN_ON(!mutex_is_locked(&system_transition_mutex));
 
-       if (WARN_ON(!saved_gfp_count) || --saved_gfp_count)
+       if (!saved_gfp_count || --saved_gfp_count)
                return;
 
        gfp_allowed_mask = saved_gfp_mask;