drm/xe: Open-code GGTT MMIO access protection
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.78, 6.18.20, 6.19.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
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)
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 919bb54e989c1edef87e9797be125c94c450fc65 · fixed in e2b424aadecb640f9e037b2891191cf8fd4c64cf; From 919bb54e989c1edef87e9797be125c94c450fc65 · fixed in 1e9e2640d870d4837bcfdc220cb2c99ae5ee119f; From 919bb54e989c1edef87e9797be125c94c450fc65 · fixed in 76326dc06d8793c2c81c31cc0115dbc348de2f88; From 919bb54e989c1edef87e9797be125c94c450fc65 · fixed in 01f2557aa684e514005541e71a3d01f4cd45c170
- Linux Linux
6.12
- KernelLinux
From 6.12.0 · fixed in 6.12.78; From 6.13.0 · fixed in 6.18.20; From 6.19.0 · fixed in 6.19.10