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