Vulnerability · Published Mar 27, 2025 · Assigned by Linux

CVE-2023-52981drm/i915: Fix request ref counting during error capture & debugfs dump

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 15% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.2%top 84.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: drm/i915: Fix request ref counting during error capture & debugfs dump When GuC support was added to error capture, the reference counting around the request object was broken. Fix it up. The context based search manages the spinlocking around the search internally. So it needs to grab the reference count internally as well. The execlist only request based search relies on external locking, so it needs an external reference count but within the spinlock not outside it. The only other caller of the context based search is the code for dumping engine state to debugfs. That code wasn't previously getting an explicit reference at all as it does everything while holding the execlist specific spinlock. So, that needs updaing as well as that spinlock doesn't help when using GuC submission. Rather than trying to conditionally get/put depending on submission model, just change it to always do the get/put. v2: Explicitly document adding an extra blank line in some dense code (Andy Shevchenko). Fix multiple potential null pointer derefs in case of no request found (some spotted by Tvrtko, but there was more!). Also fix a leaked request in case of !started and another in __guc_reset_context now that intel_context_find_active_request is actually reference counting the returned request. v3: Add a _get suffix to intel_context_find_active_request now that it grabs a reference (Daniele). v4: Split the intel_guc_find_hung_context change to a separate patch and rename intel_context_find_active_request_get to intel_context_get_active_request (Tvrtko). v5: s/locking/reference counting/ in commit message (Tvrtko) (cherry picked from commit 3700e353781e27f1bc7222f51f2cc36cbeb9b4ec)

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.11-1DEBIAN-CVE-2023-52981
Debian:13linux6.1.11-1DEBIAN-CVE-2023-52981
Debian:14linux6.1.11-1DEBIAN-CVE-2023-52981
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2023-52981
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2023-52981
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2023-52981
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2023-52981

Affected products (as reported)

VendorProductVersions
Linux Linux 573ba126aef37c8315e5bb68d2dad515efa96994 – before 9467397f417dd7b5d0db91452f0474e79716a527573ba126aef37c8315e5bb68d2dad515efa96994 – before 86d8ddc74124c3fdfc139f246ba6da15e45e86e3
Linux Linux 5.15

References