In the Linux kernel, the following vulnerability has been resolved:
drm/i915/gt: Fix timeline left held on VMA alloc error
The following error has been reported sporadically by CI when a test unbinds the i915 driver on a ring submission platform:
<4> [239.330153] ------------[ cut here ]------------ <4> [239.330166] i915 0000:00:02.0: [drm] drm_WARN_ON(dev_priv->mm.shrink_count) <4> [239.330196] WARNING: CPU: 1 PID: 18570 at drivers/gpu/drm/i915/i915_gem.c:1309 i915_gem_cleanup_early+0x13e/0x150 [i915] ... <4> [239.330640] RIP: 0010:i915_gem_cleanup_early+0x13e/0x150 [i915] ... <4> [239.330942] Call Trace: <4> [239.330944] <TASK> <4> [239.330949] i915_driver_late_release+0x2b/0xa0 [i915] <4> [239.331202] i915_driver_release+0x86/0xa0 [i915] <4> [239.331482] devm_drm_dev_init_release+0x61/0x90 <4> [239.331494] devm_action_release+0x15/0x30 <4> [239.331504] release_nodes+0x3d/0x120 <4> [239.331517] devres_release_all+0x96/0xd0 <4> [239.331533] device_unbind_cleanup+0x12/0x80 <4> [239.331543] device_release_driver_internal+0x23a/0x280 <4> [239.331550] ? bus_find_device+0xa5/0xe0 <4> [239.331563] device_driver_detach+0x14/0x20 ... <4> [357.719679] ---[ end trace 0000000000000000 ]---
If the test also unloads the i915 module then that's followed with:
<3> [357.787478] ============================================================================= <3> [357.788006] BUG i915_vma (Tainted: G U W N ): Objects remaining on __kmem_cache_shutdown() <3> [357.788031] ----------------------------------------------------------------------------- <3> [357.788204] Object 0xffff888109e7f480 @offset=29824 <3> [357.788670] Allocated in i915_vma_instance+0xee/0xc10 [i915] age=292729 cpu=4 pid=2244 <4> [357.788994] i915_vma_instance+0xee/0xc10 [i915] <4> [357.789290] init_status_page+0x7b/0x420 [i915] <4> [357.789532] intel_engines_init+0x1d8/0x980 [i915] <4> [357.789772] intel_gt_init+0x175/0x450 [i915] <4> [357.790014] i915_gem_init+0x113/0x340 [i915] <4> [357.790281] i915_driver_probe+0x847/0xed0 [i915] <4> [357.790504] i915_pci_probe+0xe6/0x220 [i915] ...
Closer analysis of CI results history has revealed a dependency of the error on a few IGT tests, namely: - igt@api_intel_allocator@fork-simple-stress-signal, - igt@api_intel_allocator@two-level-inception-interruptible, - igt@gem_linear_blits@interruptible, - igt@prime_mmap_coherency@ioctl-errors, which invisibly trigger the issue, then exhibited with first driver unbind attempt.
All of the above tests perform actions which are actively interrupted with signals. Further debugging has allowed to narrow that scope down to DRM_IOCTL_I915_GEM_EXECBUFFER2, and ring_context_alloc(), specific to ring submission, in particular.
If successful then that function, or its execlists or GuC submission equivalent, is supposed to be called only once per GEM context engine, followed by raise of a flag that prevents the function from being called again. The function is expected to unwind its internal errors itself, so it may be safely called once more after it returns an error.
In case of ring submission, the function first gets a reference to the engine's legacy timeline and then allocates a VMA. If the VMA allocation fails, e.g. when i915_vma_instance() called from inside is interrupted with a signal, then ring_context_alloc() fails, leaving the timeline held referenced. On next I915_GEM_EXECBUFFER2 IOCTL, another reference to the timeline is got, and only that last one is put on successful completion. As a consequence, the legacy timeline, with its underlying engine status page's VMA object, is still held and not released on driver unbind.
Get the legacy timeline only after successful allocation of the context engine's VMA.
v2: Add a note on other submission methods (Krzysztof Karas): Both execlists and GuC submission use lrc_alloc() which seems free from a similar issue.
(cherry picked from commit cc43422b3cc79eacff4c5a8ba0d224688ca9dd4f)
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 bpftoolUpgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernelUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.187-130.192Upgrade kernel-livepatch-5.10.240-238.959Upgrade kernel-toolsUpgrade python-perfUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade perf | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.12-modules-extraUpgrade kernel-modules-extraUpgrade python3-perf6.12-debuginfoUpgrade perf6.12-debuginfoUpgrade kernelUpgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-tools-develUpgrade kernel-tools-develUpgrade perfUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade python3-perfUpgrade kernel-libbpf-staticUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-toolsUpgrade kernel6.12-debuginfoUpgrade kernel-debuginfoUpgrade kernel-develUpgrade kernel-livepatch-6.12.37-61.105Upgrade bpftool6.12-debuginfoUpgrade kernel-headersUpgrade kernel6.12-libbpfUpgrade kernel6.12Upgrade kernel-libbpfUpgrade kernel6.12-develUpgrade kernel6.12-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel6.12-modules-extra-common | Sep 9, 2025 | Jul 25, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 28, 2025 | Jul 28, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Sep 10, 2025 | Jul 25, 2025 |
| Suse | — | Upgrade kernel-debug-vdsoUpgrade kernel-zfcpdumpUpgrade dtb-marvellUpgrade dtb-freescaleUpgrade gfs2-kmp-rtUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-rt-livepatch-develUpgrade kernel-azureUpgrade kernel-docsUpgrade reiserfs-kmp-rtUpgrade kernel-obs-qaUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmallUpgrade kselftests-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-source-rtUpgrade kernel-azure-extraUpgrade kernel-devel-azureUpgrade dtb-socionextUpgrade kernel-default-livepatchUpgrade reiserfs-kmp-64kbUpgrade dtb-amlogicUpgrade dtb-broadcomUpgrade kernel-defaultUpgrade dtb-appleUpgrade dlm-kmp-defaultUpgrade dlm-kmp-azureUpgrade dtb-amazonUpgrade kernel-kvmsmall-vdsoUpgrade kernel-64kb-optionalUpgrade kernel-azure-vdsoUpgrade dtb-apmUpgrade ocfs2-kmp-64kbUpgrade kernel-debug-develUpgrade kernel-default-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-syms-rtUpgrade kernel-obs-buildUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-develUpgrade kernel-rt-vdsoUpgrade kernel-rt_debugUpgrade dtb-amdUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-baseUpgrade kernel-azure-develUpgrade kernel-64kbUpgrade kernel-docs-htmlUpgrade kernel-default-develUpgrade kernel-default-extraUpgrade kernel-macrosUpgrade cluster-md-kmp-rtUpgrade dtb-exynosUpgrade kernel-64kb-develUpgrade gfs2-kmp-64kbUpgrade kernel-64kb-extraUpgrade dtb-sprdUpgrade kernel-source-azureUpgrade dtb-renesasUpgrade kernel-default-optionalUpgrade dtb-qcomUpgrade kernel-devel-rtUpgrade dtb-rockchipUpgrade kernel-develUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade gfs2-kmp-defaultUpgrade kernel-default-base-rebuildUpgrade kernel-rt-livepatchUpgrade kernel-azure-optionalUpgrade dlm-kmp-rtUpgrade dtb-allwinnerUpgrade ocfs2-kmp-defaultUpgrade kernel-symsUpgrade dtb-caviumUpgrade dtb-alteraUpgrade gfs2-kmp-azureUpgrade kernel-default-vdsoUpgrade dtb-mediatekUpgrade kselftests-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-rt_debug-develUpgrade dtb-lgUpgrade dtb-hisiliconUpgrade dtb-armUpgrade kernel-source-vanillaUpgrade kernel-debugUpgrade dtb-xilinxUpgrade dtb-nvidiaUpgrade kernel-rt-develUpgrade kernel-sourceUpgrade kernel-rt | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1092-gcpUpgrade linux-image-5.15.0-1092-gcp-fipsUpgrade linux-image-fipsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-fips-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-azure-nvidiaUpgrade linux-image-kvm-5.15Upgrade linux-image-azure-lts-22.04Upgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-aws-64k-5.15Upgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-ibm-classicUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1087-nvidia-lowlatencyUpgrade linux-image-5.15.0-1075-gkeopUpgrade linux-image-azure-6.8Upgrade linux-image-generic-5.15Upgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-azure-6.14Upgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-6.14Upgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-oracleUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-ibmUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-azure-nvidia-6.14Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1092-realtimeUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oem-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1090-oracleUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-1085-intel-iot-realtimeUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1092-awsUpgrade linux-image-generic-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-5.15.0-1096-azureUpgrade linux-image-5.15.0-156-generic-64kUpgrade linux-image-5.15.0-1086-raspiUpgrade linux-image-aws-64kUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-oracle-6.14Upgrade linux-image-azure-fips-5.15Upgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-intelUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-fips-5.15Upgrade linux-image-xilinxUpgrade linux-image-genericUpgrade linux-image-5.15.0-1045-nvidia-tegra-rtUpgrade linux-image-5.15.0-156-lowlatencyUpgrade linux-image-5.15.0-156-genericUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1087-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1089-gkeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1056-xilinx-zynqmpUpgrade linux-image-azure-fips-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-22.04aUpgrade linux-image-6.14.0-1014-oemUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-aws-64k-6.14Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-5.15.0-156-lowlatency-64kUpgrade linux-image-5.15.0-1045-nvidia-tegraUpgrade linux-image-virtual-6.14Upgrade linux-image-raspi-5.15Upgrade linux-image-oracle-5.15Upgrade linux-image-oem-24.04cUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-aws-fips-6.8Upgrade linux-image-5.15.0-1092-aws-64kUpgrade linux-image-aws-6.14Upgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-156-fipsUpgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-5.15.0-1096-azure-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gcp-5.15Upgrade linux-image-raspi-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-64kUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.14.0-34-genericUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.14.0-1014-azureUpgrade linux-image-5.15.0-1087-intel-iotgUpgrade linux-image-awsUpgrade linux-image-nvidia-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-virtual-6.8Upgrade linux-image-realtimeUpgrade linux-image-gke-64kUpgrade linux-image-azureUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-gcp-fipsUpgrade linux-image-gcp-6.14Upgrade linux-image-gcpUpgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-5.15.0-1088-kvmUpgrade linux-image-5.15.0-1086-ibmUpgrade linux-image-realtime-5.15Upgrade linux-image-raspi-6.14Upgrade linux-image-oracle-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-lowlatency-5.15Upgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-aws-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-generic-6.14Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-5.15.0-1034-nvidia-tegra-igxUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-5.15.0-1092-aws-fipsUpgrade linux-image-5.15.0-1034-nvidia-tegra-igx-rtUpgrade linux-image-gkeUpgrade linux-image-gcp-64kUpgrade linux-image-azure-5.15Upgrade linux-image-virtual-5.15Upgrade linux-image-realtime-6.14Upgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-generic-64k-6.14Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-5.15.0-156-generic-lpaeUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-raspiUpgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gke-6.8Upgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-generic-64k-6.8Upgrade linux-image-generic-64k-5.15Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-6.14.0-1015-awsUpgrade linux-image-oem-24.04Upgrade linux-image-kvmUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-fipsUpgrade linux-image-xilinx-6.8Upgrade linux-image-virtual-hwe-22.04 | Jul 31, 2025 | Jul 25, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 20, 2025 | Jul 25, 2025 |
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