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 perf-debuginfoUpgrade kernel-livepatch-5.10.240-238.959Upgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-livepatch-5.15.187-130.192Upgrade python-perfUpgrade perfUpgrade kernel-headersUpgrade kernel-tools-develUpgrade bpftoolUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-devel | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-livepatch-6.1.144-170.251Upgrade kernel6.12-libbpf-staticUpgrade kernel-modules-extra-commonUpgrade kernel6.12-headersUpgrade bpftoolUpgrade perf6.12Upgrade bpftool-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-libbpf-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel-toolsUpgrade kernel-libbpf-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel6.12-modules-extraUpgrade kernel-modules-extraUpgrade kernel-develUpgrade kernel-headersUpgrade kernel-livepatch-6.12.37-61.105Upgrade kernel6.12-tools-develUpgrade kernel-libbpfUpgrade kernel6.12-develUpgrade kernel6.12Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-libbpfUpgrade kernel-tools-develUpgrade python3-perf6.12Upgrade kernel-libbpf-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernelUpgrade kernel6.12-toolsUpgrade kernel6.12-debuginfo-common-aarch64 | 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-azureUpgrade kernel-rt-extraUpgrade gfs2-kmp-rtUpgrade dlm-kmp-azureUpgrade kernel-default-baseUpgrade reiserfs-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-64kbUpgrade kernel-docsUpgrade kernel-default-develUpgrade kernel-debug-develUpgrade kernel-obs-qaUpgrade kernel-syms-rtUpgrade dtb-amdUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmallUpgrade kernel-azure-develUpgrade ocfs2-kmp-64kbUpgrade dtb-apmUpgrade kselftests-kmp-defaultUpgrade kernel-64kb-optionalUpgrade kernel-source-rtUpgrade kernel-azure-vdsoUpgrade dtb-appleUpgrade kernel-rt-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-devel-azureUpgrade kernel-rt-optionalUpgrade kernel-kvmsmall-vdsoUpgrade kselftests-kmp-rtUpgrade kernel-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-extraUpgrade dtb-amlogicUpgrade dtb-marvellUpgrade kernel-obs-buildUpgrade kernel-rt_debug-vdsoUpgrade dtb-amazonUpgrade ocfs2-kmp-rtUpgrade dtb-freescaleUpgrade kselftests-kmp-azureUpgrade kernel-debug-vdsoUpgrade kernel-default-extraUpgrade kernel-default-livepatch-develUpgrade kernel-zfcpdumpUpgrade dtb-broadcomUpgrade kernel-docs-htmlUpgrade kernel-macrosUpgrade kernel-rt_debugUpgrade dtb-socionextUpgrade dlm-kmp-defaultUpgrade kernel-default-livepatchUpgrade kernel-default-vdsoUpgrade kernel-symsUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade dtb-alteraUpgrade gfs2-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-source-vanillaUpgrade kernel-debugUpgrade dtb-armUpgrade dtb-nvidiaUpgrade dtb-xilinxUpgrade kernel-azure-optionalUpgrade dlm-kmp-rtUpgrade kernel-rt_debug-develUpgrade dtb-exynosUpgrade kernel-rt-develUpgrade kernel-rtUpgrade kernel-sourceUpgrade kselftests-kmp-64kbUpgrade kernel-syms-azureUpgrade gfs2-kmp-64kbUpgrade dtb-sprdUpgrade dtb-mediatekUpgrade dtb-rockchipUpgrade ocfs2-kmp-azureUpgrade kernel-develUpgrade kernel-rt-livepatchUpgrade reiserfs-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade kernel-64kb-develUpgrade gfs2-kmp-defaultUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-devel-rtUpgrade kernel-default-optionalUpgrade dtb-renesasUpgrade kernel-source-azureUpgrade dtb-qcomUpgrade dtb-lgUpgrade kernel-64kb-extraUpgrade dtb-caviumUpgrade dtb-allwinner | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-6.14.0-1015-awsUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-aws-lts-24.04Upgrade linux-image-generic-64k-5.15Upgrade linux-image-generic-64k-6.8Upgrade linux-image-5.15.0-156-generic-lpaeUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-5.15.0-1086-ibmUpgrade linux-image-aws-fips-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-realtime-5.15Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-azureUpgrade linux-image-lowlatency-5.15Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-gcp-fipsUpgrade linux-image-gke-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-aws-6.14Upgrade linux-image-aws-fips-6.8Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-gcpUpgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-5.15.0-156-fipsUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-5.15.0-1092-aws-64kUpgrade linux-image-aws-5.15Upgrade linux-image-gcp-6.14Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-raspi-6.8Upgrade linux-image-virtual-6.14Upgrade linux-image-raspi-5.15Upgrade linux-image-5.15.0-1088-kvmUpgrade linux-image-azure-fipsUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-aws-6.8Upgrade linux-image-raspi-6.14Upgrade linux-image-oem-22.04bUpgrade linux-image-5.15.0-156-lowlatency-64kUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-oem-24.04Upgrade linux-image-aws-64k-6.14Upgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-5.15Upgrade linux-image-gcp-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-gkeUpgrade linux-image-ibm-5.15Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-5.15.0-1092-aws-fipsUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-5.15.0-1034-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-generic-64k-6.14Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-virtual-5.15Upgrade linux-image-realtime-6.14Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1034-nvidia-tegra-igxUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-1087-intel-iotgUpgrade linux-image-awsUpgrade linux-image-nvidia-5.15Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.14.0-1014-oemUpgrade linux-image-gcp-5.15Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-realtimeUpgrade linux-image-6.14.0-1014-azureUpgrade linux-image-generic-6.14Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oracle-5.15Upgrade linux-image-oem-22.04cUpgrade linux-image-6.14.0-34-genericUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-gke-6.8Upgrade linux-image-oem-24.04cUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-1096-azure-fipsUpgrade linux-image-virtual-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-gcp-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1045-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1075-gkeopUpgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-5.15.0-1092-realtimeUpgrade linux-image-oem-22.04aUpgrade linux-image-aws-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-kvm-5.15Upgrade linux-image-6.8.0-100-fipsUpgrade linux-image-generic-lpaeUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-azure-lts-24.04Upgrade linux-image-5.15.0-1092-gcp-fipsUpgrade linux-image-xilinxUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-ibm-6.8Upgrade linux-image-5.15.0-1092-gcpUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-ibmUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-5.15.0-1056-xilinx-zynqmpUpgrade linux-image-5.15.0-1087-nvidiaUpgrade linux-image-5.15.0-156-lowlatencyUpgrade linux-image-5.15.0-156-genericUpgrade linux-image-5.15.0-1045-nvidia-tegra-rtUpgrade linux-image-intelUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-genericUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-6.14Upgrade linux-image-aws-fipsUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.8.0-1046-azureUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-6.14Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-tegraUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-azure-nvidia-6.14Upgrade linux-image-virtualUpgrade linux-image-gkeopUpgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-5.15.0-1090-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-gke-5.15Upgrade linux-image-generic-5.15Upgrade linux-image-azure-nvidiaUpgrade linux-image-azure-lts-22.04Upgrade linux-image-aws-64k-5.15Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-5.15.0-1089-gkeUpgrade linux-image-5.15.0-1087-nvidia-lowlatencyUpgrade linux-image-raspi-nolpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-oracleUpgrade linux-image-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-oem-24.04bUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-aws-lts-22.04Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-5.15.0-1092-awsUpgrade linux-image-5.15.0-1085-intel-iot-realtimeUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-gkeop-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-nvidiaUpgrade linux-image-5.15.0-156-generic-64kUpgrade linux-image-5.15.0-1086-raspiUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-6.8Upgrade linux-image-5.15.0-1096-azureUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-oracle-6.14Upgrade linux-image-azure-fips-5.15Upgrade linux-image-fips-5.15 | 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