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