CVE-2026-31567 PUBLISHED

PM: sleep: Drop spurious WARN_ON() from pm_restore_gfp_mask()

Assigner: Linux
Reserved: 09.03.2026 Published: 24.04.2026 Updated: 24.04.2026

In the Linux kernel, the following vulnerability has been resolved:

PM: sleep: Drop spurious WARN_ON() from pm_restore_gfp_mask()

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.

[ rjw: Subject tweak ]

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 35e4a69b2003f20a69e7d19ae96ab1eef1aa8e8d to 3025ca5daa9d682b629c0c958b538e41deeb559d (excl.)
  • affected from 35e4a69b2003f20a69e7d19ae96ab1eef1aa8e8d to f19d1323aa3dd7ead469aef47d9085f8939565d9 (excl.)
  • affected from 35e4a69b2003f20a69e7d19ae96ab1eef1aa8e8d to a8d51efb5929ae308895455a3e496b5eca2cd143 (excl.)
  • Version 4ddf7293928cb619077724b7d828734da8181e6c is affected
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.18 is affected
  • unaffected from 0 to 6.18 (excl.)
  • unaffected from 6.18.21 to 6.18.* (incl.)
  • unaffected from 6.19.11 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References