CVE-2023-53625
kernel: drm/i915/gvt: fix vgpu debugfs clean in remove
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · October 7, 2025
Updated · July 22, 2026
Description
A NULL pointer dereference was found in the Linux kernel Intel i915 graphics driver's virtual GPU debugfs cleanup handling. A local user with privileges to unbind the i915 driver can trigger driver removal on systems with active virtual GPU instances, causing the cleanup path to attempt removing debugfs entries after the debugfs root has already been destroyed, which results in a NULL pointer dereference and denial of service through kernel crash.
Statement
The issue arises because of incorrect ordering in the driver removal sequence. When the i915 driver with GVT-g (GPU virtualization) support is unbound, the cleanup proceeds through multiple stages: driver removal, MDEV (mediated device) unregistration, and vGPU destruction. During vGPU destruction, the code unconditionally calls intel_gvt_debugfs_remove_vgpu() to clean up debugfs entries. However, at this point in the removal sequence, the DRM minor's debugfs root may have already been torn down. When debugfs_remove() attempts to lock the inode semaphore to recursively remove entries, it dereferences a NULL pointer (address 0x150, an offset into the destroyed debugfs inode structure), causing an immediate kernel oops. This occurs reliably on any system using GVT-g when the driver is unbound while virtual GPUs exist. The impact is strictly availability—the system crashes during driver removal. There is no memory corruption, information disclosure, or path to privilege escalation; the NULL dereference happens in lock acquisition code before any potentially dangerous operations could occur.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
To mitigate this issue, prevent the kvmgt module from loading. See https://access.redhat.com/solutions/41278 for instructions on blacklisting kernel modules.
CVSS / CWE
CVSS 3.1 · 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE-476 · NULL Pointer Dereference