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