* [PATCH] PM: sleep: Drop spurious WARN_ON from pm_restore_gfp_mask()
@ 2026-03-22 12:05 Youngjun Park
2026-03-23 13:06 ` Rafael J. Wysocki
0 siblings, 1 reply; 2+ messages in thread
From: Youngjun Park @ 2026-03-22 12:05 UTC (permalink / raw)
To: Rafael J . Wysocki
Cc: Len Brown, Pavel Machek, linux-pm, Andrew Morton, Chris Li,
Kairui Song, Youngjun Park
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>
---
---
Split from the earlier pm_restore_gfp_mask_nowarn() series and
agreed upon with Rafael to take this simpler approach instead:
https://lore.kernel.org/linux-mm/CAJZ5v0gBHLz7T2qRJRjBfOWY6UXM6L6+Kw8UcsY4+OaB7+qQcg@mail.gmail.com/T/#m10ee3346cd8dcd052749105d9a8e2052dbf3bc80
kernel/power/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 5f8c9e12eaec..5429e9f19b65 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -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;
base-commit: f338e77383789c0cae23ca3d48adcc5e9e137e3c
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] PM: sleep: Drop spurious WARN_ON from pm_restore_gfp_mask()
2026-03-22 12:05 [PATCH] PM: sleep: Drop spurious WARN_ON from pm_restore_gfp_mask() Youngjun Park
@ 2026-03-23 13:06 ` Rafael J. Wysocki
0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2026-03-23 13:06 UTC (permalink / raw)
To: Youngjun Park
Cc: Rafael J . Wysocki, Len Brown, Pavel Machek, linux-pm,
Andrew Morton, Chris Li, Kairui Song
On Sun, Mar 22, 2026 at 1:05 PM Youngjun Park <youngjun.park@lge.com> wrote:
>
> 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>
> ---
> ---
> Split from the earlier pm_restore_gfp_mask_nowarn() series and
> agreed upon with Rafael to take this simpler approach instead:
> https://lore.kernel.org/linux-mm/CAJZ5v0gBHLz7T2qRJRjBfOWY6UXM6L6+Kw8UcsY4+OaB7+qQcg@mail.gmail.com/T/#m10ee3346cd8dcd052749105d9a8e2052dbf3bc80
>
> kernel/power/main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/power/main.c b/kernel/power/main.c
> index 5f8c9e12eaec..5429e9f19b65 100644
> --- a/kernel/power/main.c
> +++ b/kernel/power/main.c
> @@ -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;
>
> base-commit: f338e77383789c0cae23ca3d48adcc5e9e137e3c
> --
Applied as 7.0-rc material, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-03-23 13:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-22 12:05 [PATCH] PM: sleep: Drop spurious WARN_ON from pm_restore_gfp_mask() Youngjun Park
2026-03-23 13:06 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox