Bug 2536229 (CVE-2026-93172) - CVE-2026-93172 kernel: mm/mm_init: handle alloc_percpu failure in free_area_init_core_hotplug
Summary: CVE-2026-93172 kernel: mm/mm_init: handle alloc_percpu failure in free_area_i...
Keywords:
Status: NEW
Alias: CVE-2026-93172
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-17 17:00 UTC by OSIDB Bzimport
Modified: 2026-10-20 11:49 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-17 17:00:40 UTC
In the Linux kernel, the following vulnerability has been resolved:

mm/mm_init: handle alloc_percpu failure in free_area_init_core_hotplug

We miss a failed allocation check for pgdat->per_cpu_nodestats, which
results in a NULL deref when we offset into the per-cpu area.

Propagate -ENOMEM up the stack and leave per_cpu_nodestats pointing
at boot_nodestats so a later online can retry the allocation.

hotadd_init_pgdat() returns NULL on failure, which __try_online_node()
already maps to -ENOMEM.

On failure nothing needs to be unwound:
  - the node is never marked online
  - per_cpu_nodestats is left pointing at boot_nodestats
  - __add_memory_resource() cleans up pending memblock resources
  - later online attempts retry the per_cpu_nodestats allocation


Note You need to log in before you can comment on or make changes to this bug.