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