← Back to CVE Explorer

CVE-2026-97947

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: x86/amd_node: Fix potential NULL pointer dereference amd_smn_read/write() are exported functions around __amd_smn_rw(), so they are always available even if amd_smn_init() fails. In that case, 'amd_roots' is NULL and __amd_smn_rw() will access uninitialized memory. Then, commit: 83518453074d ("x86/amd_node: Add SMN offsets to exclusive region access") added the 'smn_exclusive' flag, which indicated the calls to pci_request_config_region_exclusive() succeeded, to prevent concurrent userspace access. Commit: 0a4b61d9c2e4 ("x86/amd_node: Fix AMD root device caching") re-ordered initialization so pci_request_config_region_exclusive() is called earlier and a failure exits amd_smn_init() before allocating 'amd_roots'. The setting of 'smn_exclusive' moved to the end of amd_smn_init(), after 'amd_roots' is allocated. It became redundant and can be removed. Replace 'smn_exclusive' with directly checking 'amd_roots', to fix a potential NULL pointer dereference and to simplify the logic. [ bp: Reorg commit message, touchup comment. ] [ mingo: Rebase & further touchups. ]

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-25 11:17:22.213000
Last modified
2026-10-19 10:17:45.937000
View original CVE JSON
{
  "id": "CVE-2026-97947",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-25T11:17:22.213",
  "lastModified": "2026-10-19T10:17:45.937",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/amd_node: Fix potential NULL pointer dereference\n\namd_smn_read/write() are exported functions around __amd_smn_rw(), so\nthey are always available even if amd_smn_init() fails. In that case,\n'amd_roots' is NULL and __amd_smn_rw() will access uninitialized memory.\n\nThen, commit:\n\n  83518453074d (\"x86/amd_node: Add SMN offsets to exclusive region access\")\n\nadded the 'smn_exclusive' flag, which indicated the calls to\npci_request_config_region_exclusive() succeeded, to prevent\nconcurrent userspace access.\n\nCommit:\n\n  0a4b61d9c2e4 (\"x86/amd_node: Fix AMD root device caching\")\n\nre-ordered initialization so pci_request_config_region_exclusive() is\ncalled earlier and a failure exits amd_smn_init() before allocating\n'amd_roots'. The setting of 'smn_exclusive' moved to the end of\namd_smn_init(), after 'amd_roots' is allocated. It became redundant\nand can be removed.\n\nReplace 'smn_exclusive' with directly checking 'amd_roots', to fix a\npotential NULL pointer dereference and to simplify the logic.\n\n  [ bp: Reorg commit message, touchup comment. ]\n  [ mingo: Rebase & further touchups. ]"
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "arch/x86/kernel/amd_node.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "77466b798d59d6761501ff36094cf430d3876549",
              "lessThan": "fcd19bc829eca237742a3b123f839ad1c473ec85",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "77466b798d59d6761501ff36094cf430d3876549",
              "lessThan": "a797a2331e5d2ecdbccbae222ea71c759fdb2c2b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "77466b798d59d6761501ff36094cf430d3876549",
              "lessThan": "aefdbd574a362dcf7569bada6d72f64a006b9fb9",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "arch/x86/kernel/amd_node.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.14",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.14",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.53",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.7",
              "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/a797a2331e5d2ecdbccbae222ea71c759fdb2c2b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/aefdbd574a362dcf7569bada6d72f64a006b9fb9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/fcd19bc829eca237742a3b123f839ad1c473ec85",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}