CVE-2026-98939
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: x86/mm: Azad etmə zamanı lazımsız PMD səhifə surətinin kopyalanması ləğv edildi Diskret GPU olan sistemdə, kswapd TTM səhifə hovuzunu kiçiltdiyi an lockdep mümkün deadlock (ölü kilidləmə) barədə məlumat verir. Bunun birbaşa səbəbi, nüvənin səhifə qoruması koduna mmap_read_lock() əlavə edən x86 commit-idir. Böyük vmap kodu, GFP_KERNEL ayırması boyunca eyni kilidi saxlayır və artıq reclaim bunu götürə bildiyi üçün bu qəbul edilməzdir. Həmin ayırma səhifə cədvəlinin azad edilməsi yolundadır və şübhəli məqsədlər[1] üçün istifadə olunur. Əslində, bu, aparat təminatının aparat tərəfindən əlçatan olmayan səhifə cədvəli girişlərində Accessed=1 təyin etməsinin qarşısını almağa çalışır ki, bu da problem törətməyən bir məsələdir. PMD surəti silindi. Orijinal PMD səhifəsi PUD-dan ayrıldı, orta səviyyəli keşlər təmizləndi və PTE cədvəlləri birbaşa ayrılmış PMD səhifəsindən azad edildi. Heç bir ayırma qalmadığı üçün kilidləmə problemi aradan qalxdı. Lockdep splat/analizi: WARNING: possible circular locking dependency detected 7.3.0-rc3-f6e7b42bf05b+ #183 Tainted: G U ------------------------------------------------------ kswapd0/269 is trying to acquire lock: ((init_mm).mmap_lock){++++}-{4:4}, at: change_page_attr_set_clr+0x29a/0x4a0 but task is already holding lock: (pool_shrink_rwsem){.+.+}-{4:4}, at: ttm_pool_shrink+0xb2/0x330 [ttm] Chain exists of: (init_mm).mmap_lock --> fs_reclaim --> pool_shrink_rwsem Sikl üç kənardan ibarətdir: 1) pool_shrink_rwsem -> (init_mm).mmap_lock TTM shrinker, pool_shrink_rwsem kilidini saxladığı halda, azad etdiyi hər bir səhifənin keşləmə atributunu bərpa edir: ttm_pool_shrink() -> ttm_pool_dispose_list() -> ttm_pool_free_page() -> set_pages_wb() -> change_page_attr_set_clr() [ init_mm mmap read lock ] 2) fs_reclaim -> pool_shrink_rwsem Reclaim tərəfindən çağırılan eyni shrinker. 3) (init_mm).mmap_lock -> fs_reclaim Mövcud PMD cədvəli üzərində böyük PUD xəritələnməsi quraşan ioremap(): ioremap_page_range() -> vmap_range_noflush() -> vmap_try_huge_pud() [ init_mm mmap read lock ] -> pud_free_pmd_page() -> __get_free_page(GFP_KERNEL) [ reclaim prosesinə daxil olur ] [ dhansen: Dəyişiklik jurnalı çoxlu redaktə edilmiş/ixtisar edilmiş və düzəlişimin mənim versiyamdan şərhlər birləşdirilmişdir. ]
Necə düzəltmək olar
- Linux Linuxd3c2d2692bdf4af94bb27bc7a3aa0a348a567606, f38c57a28ebbd057471573e39555d5aa11ab03cf, e3ee38c1bc0b11a8d3e63dce7050759b61864286, 6.18.56, 7.2.10 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | e21a9ea81426a85fdb0cdcfcc99d5d9c16b402ab ≤ v < d3c2d2692bdf4af94bb27bc7a3aa0a348a567606, cc73b2043d106b467accd38e9b1fc09e0607c056 ≤ v < f38c57a28ebbd057471573e39555d5aa11ab03cf, d5d8b8662e6e5a565b47a0388640e88402f23274 ≤ v < e3ee38c1bc0b11a8d3e63dce7050759b61864286, 6.18.53 ≤ v < 6.18.56, 7.2.7 ≤ v < 7.2.10 | d3c2d2692bdf4af94bb27bc7a3aa0a348a567606, f38c57a28ebbd057471573e39555d5aa11ab03cf, e3ee38c1bc0b11a8d3e63dce7050759b61864286, 6.18.56, 7.2.10 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.