{"id":"CVE-2026-31567","summary":"PM: sleep: Drop spurious WARN_ON() from pm_restore_gfp_mask()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nPM: sleep: Drop spurious WARN_ON() from pm_restore_gfp_mask()\n\nCommit 35e4a69b2003f (\"PM: sleep: Allow pm_restrict_gfp_mask()\nstacking\") introduced refcount-based GFP mask management that warns\nwhen pm_restore_gfp_mask() is called with saved_gfp_count == 0.\n\nSome hibernation paths call pm_restore_gfp_mask() defensively where\nthe GFP mask may or may not be restricted depending on the execution\npath. For example, the uswsusp interface invokes it in\nSNAPSHOT_CREATE_IMAGE, SNAPSHOT_UNFREEZE, and snapshot_release().\nBefore the stacking change this was a silent no-op; it now triggers\na spurious WARNING.\n\nRemove the WARN_ON() wrapper from the !saved_gfp_count check while\nretaining the check itself, so that defensive calls remain harmless\nwithout producing false warnings.\n\n[ rjw: Subject tweak ]","modified":"2026-10-28T02:30:28.758964130Z","published":"2026-04-24T14:35:47.453Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31567.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/3025ca5daa9d682b629c0c958b538e41deeb559d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a8d51efb5929ae308895455a3e496b5eca2cd143"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f19d1323aa3dd7ead469aef47d9085f8939565d9"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31567.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31567"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"35e4a69b2003f20a69e7d19ae96ab1eef1aa8e8d"},{"fixed":"3025ca5daa9d682b629c0c958b538e41deeb559d"},{"fixed":"f19d1323aa3dd7ead469aef47d9085f8939565d9"},{"fixed":"a8d51efb5929ae308895455a3e496b5eca2cd143"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"6.17.8"},{"fixed":"6.18"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4ddf7293928cb619077724b7d828734da8181e6c"}]}],"versions":["v6.17.13","v6.17.12","v6.17.11","v6.17.10","v6.17.9","v6.17.8"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31567.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.18.0"},{"fixed":"6.18.21"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"6.19.11"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31567.json"}}],"schema_version":"1.9.2"}