CVE-2025-38520
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: drm/amdkfd: MMU bildirim geri çağırmasından mmput çağırmayın Süreç sonlanıyorsa; compactd, fork veya numa dengelemesinden gelen mmu bildirim geri çağrısı içindeki mmput, exit_mmap ve free_pgtable fonksiyonlarını çağırmak için mm yapısının son referansını serbest bırakabilir ve bu durum aşağıdaki geri izleme (backtrace) ile birlikte bir ölü kilide (deadlock) yol açar. Ölü kilit, mmu bildirimi serbest bırakma işlemi çağrılmadığı için kfd sürecinin sızmasına ve VRAM sızıntısına neden olur. Çözüm, ertelenmiş liste işindeki mmput ile eşleşmesi için prange ertelenmiş listeye eklenirken mm referansı olan mmget_non_zero işleminin gerçekleştirilmesidir. prange bölünürse ve pchild listesine eklenirse, pchild work_item.mm kullanılmaz; bu nedenle svm_range_unmap_split ve svm_range_add_child fonksiyonlarından mm parametresi kaldırılmıştır. Asılı kalan görevin geri izlemesi: INFO: task python:348105 blocked for more than 64512 seconds. Call Trace: __schedule+0x1c3/0x550 schedule+0x46/0xb0 rwsem_down_write_slowpath+0x24b/0x4c0 unlink_anon_vmas+0xb1/0x1c0 free_pgtables+0xa9/0x130 exit_mmap+0xbc/0x1a0 mmput+0x5a/0x140 svm_range_cpu_invalidate_pagetables+0x2b/0x40 [amdgpu] mn_itree_invalidate+0x72/0xc0 __mmu_notifier_invalidate_range_start+0x48/0x60 try_to_unmap_one+0x10fa/0x1400 rmap_walk_anon+0x196/0x460 try_to_unmap+0xbb/0x210 migrate_page_unmap+0x54d/0x7e0 migrate_pages_batch+0x1c3/0xae0 migrate_pages_sync+0x98/0x240 migrate_pages+0x25c/0x520 compact_zone+0x29d/0x590 compact_zone_order+0xb6/0xf0 try_to_compact_pages+0xbe/0x220 __alloc_pages_direct_compact+0x96/0x1a0 __alloc_pages_slowpath+0x410/0x930 __alloc_pages_nodemask+0x3a9/0x3e0 do_huge_pmd_anonymous_page+0xd7/0x3e0 __handle_mm_fault+0x5e3/0x5f0 handle_mm_fault+0xf7/0x2e0 hmm_vma_fault.isra.0+0x4d/0xa0 walk_pmd_range.isra.0+0xa8/0x310 walk_pud_range+0x167/0x240 walk_pgd_range+0x55/0x100 __walk_page_range+0x87/0x90 walk_page_range+0xf6/0x160 hmm_range_fault+0x4f/0x90 amdgpu_hmm_range_get_pages+0x123/0x230 [amdgpu] amdgpu_ttm_tt_get_user_pages+0xb1/0x150 [amdgpu] init_user_pages+0xb1/0x2a0 [amdgpu] amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu+0x543/0x7d0 [amdgpu] kfd_ioctl_alloc_memory_of_gpu+0x24c/0x4e0 [amdgpu] kfd_ioctl+0x29d/0x500 [amdgpu] (commit a29e067bd38946f752b0ef855f3dfff87e77bec7 üzerinden cherry-pick edilmiştir)
Nasıl düzeltilir
- linux linux_kernel5.16, 5.19, 6.1.148, 6.6.101, 6.12.39, 6.15.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.15.49 ≤ v < 5.16, 5.18.6 ≤ v < 5.19, 5.19.1 ≤ v < 6.1.148, 6.2 ≤ v < 6.6.101, 6.7 ≤ v < 6.12.39, 6.13 ≤ v < 6.15.7, 5.19, 6.16 | 5.16, 5.19, 6.1.148, 6.6.101, 6.12.39, 6.15.7 |
| debian debian_linux | 11.0 | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.