CVE-2026-93172 PUBLISHED

mm/mm_init: handle alloc_percpu failure in free_area_init_core_hotplug

Assigner: Linux
Reserved: 17.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 75ef7184053989118d3814c558a9af62e7376a58 to 4cc5caef9a8d1894dfa31d84a0daa0ac1437dadc (excl.)
  • affected from 75ef7184053989118d3814c558a9af62e7376a58 to bc3b5e6519b8df22d622a03eab6772784da97db4 (excl.)
  • affected from 75ef7184053989118d3814c558a9af62e7376a58 to 1017fe1c7f48e511c5a680e3057005daaff2f3a2 (excl.)
  • affected from 75ef7184053989118d3814c558a9af62e7376a58 to 2ebce860bdd7ae5e13002811bc9bbbf33fcfc221 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.8 is affected
  • unaffected from 0 to 4.8 (excl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References