← Back to CVE Explorer

CVE-2026-93172

Full vulnerability record from the local CVENow database.

Description

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

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-17 17:18:12.943000
Last modified
2026-10-30 13:20:58.897000
View original CVE JSON
{
  "id": "CVE-2026-93172",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-17T17:18:12.943",
  "lastModified": "2026-10-30T13:20:58.897",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm/mm_init: handle alloc_percpu failure in free_area_init_core_hotplug\n\nWe miss a failed allocation check for pgdat->per_cpu_nodestats, which\nresults in a NULL deref when we offset into the per-cpu area.\n\nPropagate -ENOMEM up the stack and leave per_cpu_nodestats pointing\nat boot_nodestats so a later online can retry the allocation.\n\nhotadd_init_pgdat() returns NULL on failure, which __try_online_node()\nalready maps to -ENOMEM.\n\nOn failure nothing needs to be unwound:\n  - the node is never marked online\n  - per_cpu_nodestats is left pointing at boot_nodestats\n  - __add_memory_resource() cleans up pending memblock resources\n  - later online attempts retry the per_cpu_nodestats allocation"
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "include/linux/memory_hotplug.h",
            "mm/memory_hotplug.c",
            "mm/mm_init.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "75ef7184053989118d3814c558a9af62e7376a58",
              "lessThan": "eb872b92e26c2576742d541e45f28b50af059b8b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "75ef7184053989118d3814c558a9af62e7376a58",
              "lessThan": "4dda09e7ca0bf0c3fa7c5c8f134d9804b67f455c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "75ef7184053989118d3814c558a9af62e7376a58",
              "lessThan": "4cc5caef9a8d1894dfa31d84a0daa0ac1437dadc",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "75ef7184053989118d3814c558a9af62e7376a58",
              "lessThan": "bc3b5e6519b8df22d622a03eab6772784da97db4",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "75ef7184053989118d3814c558a9af62e7376a58",
              "lessThan": "1017fe1c7f48e511c5a680e3057005daaff2f3a2",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "75ef7184053989118d3814c558a9af62e7376a58",
              "lessThan": "2ebce860bdd7ae5e13002811bc9bbbf33fcfc221",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "include/linux/memory_hotplug.h",
            "mm/memory_hotplug.c",
            "mm/mm_init.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.8",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.8",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.191",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.110",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.52",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.6",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1017fe1c7f48e511c5a680e3057005daaff2f3a2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2ebce860bdd7ae5e13002811bc9bbbf33fcfc221",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4cc5caef9a8d1894dfa31d84a0daa0ac1437dadc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4dda09e7ca0bf0c3fa7c5c8f134d9804b67f455c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/bc3b5e6519b8df22d622a03eab6772784da97db4",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/eb872b92e26c2576742d541e45f28b50af059b8b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}