Skip to content
Heist/ feed
Back to feed
HighFix available

drm/xe: Open-code GGTT MMIO access protection

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Open-code GGTT MMIO access protection GGTT MMIO access is currently protected by hotplug (drm_dev_enter), which works correctly when the driver loads successfully and is later unbound or unloaded. However, if driver load fails, this protection is insufficient because drm_dev_unplug() is never called. Additionally, devm release functions cannot guarantee that all BOs with GGTT mappings are destroyed before the GGTT MMIO region is removed, as some BOs may be freed asynchronously by worker threads. To address this, introduce an open-coded flag, protected by the GGTT lock, that guards GGTT MMIO access. The flag is cleared during the dev_fini_ggtt devm release function to ensure MMIO access is disabled once teardown begins. (cherry picked from commit 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)

Products
Kernel
Affected versions
Not specified
Fixed versions
6.12.78, 6.18.20, 6.19.10
CVEs
CVE-2026-23466
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 01:45 UTC · Revision 1

Source evidence

drm/xe: Open-code GGTT MMIO access protection

core-osv · Original source

Published 3 Apr 2026, 15:15 UTC

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Open-code GGTT MMIO access protection GGTT MMIO access is currently protected by hotplug (drm_dev_enter), which works correctly when the driver loads successfully and is later unbound or unloaded. However, if driver load fails, this protection is insufficient because drm_dev_unplug() is never called. Additionally, devm release functions cannot guarantee that all BOs with GGTT mappings are destroyed before the GGTT MMIO region is removed, as some BOs may be freed asynchronously by worker threads. To address this, introduce an open-coded flag, protected by the GGTT lock, that guards GGTT MMIO access. The flag is cleared during the dev_fini_ggtt devm release function to ensure MMIO access is disabled once teardown begins. (cherry picked from commit 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)

osv:CVE-2026-23466

Kernel

Fixed versions: 6.12.78, 6.18.20, 6.19.10

Complete source record
{
  "id": "99d0b654a0d1f7c952eebdb4d11f4e403b8fcc7ddcbfe9ea8092f1bd60f1f8ea",
  "url": "https://osv.dev/vulnerability/CVE-2026-23466",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "drm/xe: Open-code GGTT MMIO access protection",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: drm/xe: Open-code GGTT MMIO access protection GGTT MMIO access is currently protected by hotplug (drm_dev_enter), which works correctly when the driver loads successfully and is later unbound or unloaded. However, if driver load fails, this protection is insufficient because drm_dev_unplug() is never called. Additionally, devm release functions cannot guarantee that all BOs with GGTT mappings are destroyed before the GGTT MMIO region is removed, as some BOs may be freed asynchronously by worker threads. To address this, introduce an open-coded flag, protected by the GGTT lock, that guards GGTT MMIO access. The flag is cleared during the dev_fini_ggtt devm release function to ensure MMIO access is disabled once teardown begins. (cherry picked from commit 4f3a998a173b4325c2efd90bdadc6ccd3ad9a431)",
    "evidence": "osv:CVE-2026-23466",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.12.78",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.20",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.19.10",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-23466",
      "aliases": [
        "CVE-2026-23466"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "919bb54e989c1edef87e9797be125c94c450fc65"
                },
                {
                  "fixed": "e2b424aadecb640f9e037b2891191cf8fd4c64cf"
                },
                {
                  "fixed": "1e9e2640d870d4837bcfdc220cb2c99ae5ee119f"
                },
                {
                  "fixed": "76326dc06d8793c2c81c31cc0115dbc348de2f88"
                },
                {
                  "fixed": "01f2557aa684e514005541e71a3d01f4cd45c170"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23466.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.12.0"
                },
                {
                  "fixed": "6.12.78"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.20"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "6.19.10"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23466.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:41.442069505Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/01f2557aa684e514005541e71a3d01f4cd45c170",
        "https://git.kernel.org/stable/c/1e9e2640d870d4837bcfdc220cb2c99ae5ee119f",
        "https://git.kernel.org/stable/c/76326dc06d8793c2c81c31cc0115dbc348de2f88",
        "https://git.kernel.org/stable/c/e2b424aadecb640f9e037b2891191cf8fd4c64cf",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23466.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-23466",
        "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/23xxx/CVE-2026-23466.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-23466",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 509194,
  "published_at": "2026-04-03T15:15:45.754+00:00"
}