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