Skip to content
Heist/ feed
Back to feed
UnratedFix available

drm/amdgpu: Skip KFD mapping clear before initialization

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Skip KFD mapping clear before initialization amdgpu_amdkfd_clear_kfd_mapping() assumes that a non-NULL kfd_dev has a fully populated node array. This is not true when KFD device initialization fails after probe. For example, kgd2kfd_device_init() sets num_nodes before checking PCIe atomics support. On Polaris systems without the required atomics, it returns before allocating nodes[0], but the kfd_dev remains attached to the amdgpu device. A later GPU reset then dereferences nodes[0]->id. Require the authoritative KFD initialization flag before walking the node array, matching the existing KFD reset and teardown paths. (cherry picked from commit 4ac1835823c47903fbb278bbf474773c46f59edc)

Products
Kernel
Affected versions
Not specified
Fixed versions
7.2.8
CVEs
CVE-2026-98178
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 17:54 UTC · Revision 1

Source evidence

drm/amdgpu: Skip KFD mapping clear before initialization

core-osv · Original source

Published 6 Oct 2026, 08:44 UTC

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Skip KFD mapping clear before initialization amdgpu_amdkfd_clear_kfd_mapping() assumes that a non-NULL kfd_dev has a fully populated node array. This is not true when KFD device initialization fails after probe. For example, kgd2kfd_device_init() sets num_nodes before checking PCIe atomics support. On Polaris systems without the required atomics, it returns before allocating nodes[0], but the kfd_dev remains attached to the amdgpu device. A later GPU reset then dereferences nodes[0]->id. Require the authoritative KFD initialization flag before walking the node array, matching the existing KFD reset and teardown paths. (cherry picked from commit 4ac1835823c47903fbb278bbf474773c46f59edc)

osv:CVE-2026-98178

Kernel

Fixed versions: 7.2.8

Complete source record
{
  "id": "c00c5029b192b5167357ff3838299649dcd4fa16f96d822e9cd0900c68403267",
  "url": "https://osv.dev/vulnerability/CVE-2026-98178",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "drm/amdgpu: Skip KFD mapping clear before initialization",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Skip KFD mapping clear before initialization amdgpu_amdkfd_clear_kfd_mapping() assumes that a non-NULL kfd_dev has a fully populated node array. This is not true when KFD device initialization fails after probe. For example, kgd2kfd_device_init() sets num_nodes before checking PCIe atomics support. On Polaris systems without the required atomics, it returns before allocating nodes[0], but the kfd_dev remains attached to the amdgpu device. A later GPU reset then dereferences nodes[0]->id. Require the authoritative KFD initialization flag before walking the node array, matching the existing KFD reset and teardown paths. (cherry picked from commit 4ac1835823c47903fbb278bbf474773c46f59edc)",
    "evidence": "osv:CVE-2026-98178",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "7.2.8",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-98178",
      "aliases": [
        "CVE-2026-98178"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "70cadefcc6160c575b04f763ada34c20e868d577"
                },
                {
                  "fixed": "157d3f1db7e7e6f320daa221fae84a4c13555b6f"
                },
                {
                  "fixed": "7f9caa70aef0950e06d395ca0035831214d88187"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98178.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "7.2.0"
                },
                {
                  "fixed": "7.2.8"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98178.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.045194082Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/157d3f1db7e7e6f320daa221fae84a4c13555b6f",
        "https://git.kernel.org/stable/c/7f9caa70aef0950e06d395ca0035831214d88187",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98178.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-98178",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98178.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-98178",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 505472,
  "published_at": "2026-10-06T08:44:21.602+00:00"
}