In the Linux kernel, the following vulnerability has been resolved:
drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat
A use-after-free / refcount underflow is possible when the heartbeat worker and intel_engine_park_heartbeat() race to release the same engine->heartbeat.systole request.
The heartbeat worker reads engine->heartbeat.systole and calls i915_request_put() on it when the request is complete, but clears the pointer in a separate, non-atomic step. Concurrently, a request retirement on another CPU can drop the engine wakeref to zero, triggering __engine_park() -> intel_engine_park_heartbeat(). If the heartbeat timer is pending at that point, cancel_delayed_work() returns true and intel_engine_park_heartbeat() reads the stale non-NULL systole pointer and calls i915_request_put() on it again, causing a refcount underflow:
``` <4> [487.221889] Workqueue: i915-unordered engine_retire [i915] <4> [487.222640] RIP: 0010:refcount_warn_saturate+0x68/0xb0 ... <4> [487.222707] Call Trace: <4> [487.222711] <TASK> <4> [487.222716] intel_engine_park_heartbeat.part.0+0x6f/0x80 [i915] <4> [487.223115] intel_engine_park_heartbeat+0x25/0x40 [i915] <4> [487.223566] __engine_park+0xb9/0x650 [i915] <4> [487.223973] ____intel_wakeref_put_last+0x2e/0xb0 [i915] <4> [487.224408] __intel_wakeref_put_last+0x72/0x90 [i915] <4> [487.224797] intel_context_exit_engine+0x7c/0x80 [i915] <4> [487.225238] intel_context_exit+0xf1/0x1b0 [i915] <4> [487.225695] i915_request_retire.part.0+0x1b9/0x530 [i915] <4> [487.226178] i915_request_retire+0x1c/0x40 [i915] <4> [487.226625] engine_retire+0x122/0x180 [i915] <4> [487.227037] process_one_work+0x239/0x760 <4> [487.227060] worker_thread+0x200/0x3f0 <4> [487.227068] ? __pfx_worker_thread+0x10/0x10 <4> [487.227075] kthread+0x10d/0x150 <4> [487.227083] ? __pfx_kthread+0x10/0x10 <4> [487.227092] ret_from_fork+0x3d4/0x480 <4> [487.227099] ? __pfx_kthread+0x10/0x10 <4> [487.227107] ret_from_fork_asm+0x1a/0x30 <4> [487.227141] </TASK> ```
Fix this by replacing the non-atomic pointer read + separate clear with xchg() in both racing paths. xchg() is a single indivisible hardware instruction that atomically reads the old pointer and writes NULL. This guarantees only one of the two concurrent callers obtains the non-NULL pointer and performs the put, the other gets NULL and skips it.
(cherry picked from commit 13238dc0ee4f9ab8dafa2cca7295736191ae2f42)
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade perfUpgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel-livepatch-5.10.258-257.1041Upgrade python-perfUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.204-143.230Upgrade kernel-toolsUpgrade kernel-develUpgrade bpftool-debuginfoUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade kernel | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-modules-extraUpgrade kernel-livepatch-6.1.170-210.320Upgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perfUpgrade kernel-tools-develUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade kernelUpgrade perf-debuginfoUpgrade kernel-toolsUpgrade python3-perf-debuginfoUpgrade kernel-develUpgrade perfUpgrade bpftool-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool | May 19, 2026 | Apr 24, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | May 3, 2026 | May 3, 2026 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Aug 4, 2026 | Apr 24, 2026 |
| Rocky_linux | — | Upgrade kernel-zfcpdump-modules-coreUpgrade kernel-debug-debuginfoUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade rtlaUpgrade kernel-modules-coreUpgrade kernel-rt-coreUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-uki-virtUpgrade kernel-debug-develUpgrade kernel-rt-debug-modules-coreUpgrade perfUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-debug-modules-extraUpgrade kernel-modulesUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade python3-perfUpgrade kernel-zfcpdump-modulesUpgrade kernel-coreUpgrade kernel-debug-coreUpgrade perf-debuginfoUpgrade libperfUpgrade kernel-devel-matchedUpgrade kernel-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-tools-debuginfoUpgrade kernelUpgrade kernel-rt-develUpgrade kernel-rt-debuginfoUpgrade kernel-rtUpgrade kernel-debug-modules-coreUpgrade kernel-modules-extra-matchedUpgrade kernel-toolsUpgrade kernel-debug-modulesUpgrade kernel-debuginfo-common-s390xUpgrade kernel-tools-libsUpgrade kernel-rt-modules-extraUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-coreUpgrade rvUpgrade kernel-rt-debugUpgrade kernel-uki-virt-addonsUpgrade kernel-debug-uki-virtUpgrade libperf-debuginfoUpgrade kernel-rt-debug-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade kernel-devel | Sep 17, 2026 | Sep 15, 2026 |
| Ubuntu | — | Upgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-1107-nvidiaUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gkeopUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-5.15.0-186-generic-lpaeUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-xilinx-6.8Upgrade linux-image-oracle-5.15Upgrade linux-image-raspi-5.15Upgrade linux-image-5.15.0-1112-gcpUpgrade linux-image-intelUpgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-generic-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-fips-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1109-oracleUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-azure-lts-24.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-ibm-classicUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1111-realtimeUpgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-xilinxUpgrade linux-image-gcp-64kUpgrade linux-image-generic-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-1117-azure-fipsUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-5.15.0-1075-xilinx-zynqmpUpgrade linux-image-azure-5.15Upgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1053-nvidia-tegra-igx-rtUpgrade linux-image-azure-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-genericUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-kvmUpgrade linux-image-gkeUpgrade linux-image-5.15.0-1117-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1106-raspiUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-1112-aws-fipsUpgrade linux-image-5.15.0-1112-awsUpgrade linux-image-nvidia-5.15Upgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-186-fipsUpgrade linux-image-oem-22.04bUpgrade linux-image-5.15.0-184-lowlatencyUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-gkeop-5.15Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-virtualUpgrade linux-image-azure-fde-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1112-aws-64kUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-oem-20.04cUpgrade linux-image-aws-64kUpgrade linux-image-gke-6.8Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-laptop-23.10Upgrade linux-image-nvidiaUpgrade linux-image-nvidia-tegraUpgrade linux-image-fips-5.15Upgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-aws-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-oem-22.04dUpgrade linux-image-oem-20.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1107-intel-iotgUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-oracle-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-ibm-6.8Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-fips-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1064-nvidia-tegraUpgrade linux-image-aws-6.8Upgrade linux-image-raspiUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-5.15.0-1064-nvidia-tegra-rtUpgrade linux-image-realtime-5.15Upgrade linux-image-5.15.0-186-genericUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-aws-lts-22.04Upgrade linux-image-azureUpgrade linux-image-5.15.0-184-lowlatency-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-azure-fdeUpgrade linux-image-awsUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-oracleUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-ibm-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-fde-5.15Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-azure-fips-5.15Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.15.0-1117-azureUpgrade linux-image-5.15.0-1108-gkeUpgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-5.15.0-186-generic-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-5.15.0-1095-gkeopUpgrade linux-image-lowlatency-5.15Upgrade linux-image-gke-5.15Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-136-fipsUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1104-intel-iot-realtimeUpgrade linux-image-aws-fips-5.15Upgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-5.15.0-1112-gcp-fipsUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-gke-64kUpgrade linux-image-generic-5.15Upgrade linux-image-5.15.0-1106-ibmUpgrade linux-image-lowlatency-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-64k-5.15Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-gcp-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-5.15.0-1104-kvmUpgrade linux-image-aws-64k-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-5.15.0-1107-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-6.8.0-1061-awsUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-5.15.0-1053-nvidia-tegra-igx | May 25, 2026 | Apr 24, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Apr 24, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub