CVE-2026-74572
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: btrfs: zoned: metadata writeback və transaction commit arasındakı deadlock probleminin həlli Zoned fayl sistemində metadata extent buferləri yazılarkən, btree_writepages() funksiyası bütün writeback dövrü boyunca, o cümlədən btrfs_check_meta_write_pointer() -> check_bg_is_active() çağırışı zamanı fs_info->zoned_meta_io_lock kilidini saxlayır. Tree-log blok qrupu üçün check_bg_is_active() zonu aktivləşdirməkdə uğursuz ola bilər və aktiv zonu azad etmək üçün btrfs_zone_finish_one_bg() funksiyasına geri dönə bilər. Bu yol, hələ də zoned_meta_io_lock kilidini saxlayaraq cari transaction-ın commit olunmasını gözləyir, lakin committer-ə tree extent-lərini yazmaq üçün həmin kilid lazımdır, buna görə də iki tapşırıq arasında deadlock yaranır: Tapşırıq A (kworker, metadata writeback) Tapşırıq B (fsstress, transaction commit) ------------------------------------ ------------------------------------- wb_workfn() btrfs_commit_transaction(T) btree_writepages() btrfs_write_and_wait_transaction() btrfs_zoned_meta_io_lock() btrfs_write_marked_extents() btrfs_check_meta_write_pointer() btree_writepages() check_bg_is_active() [treelog_bg] btrfs_zoned_meta_io_lock() btrfs_zone_finish_one_bg() <Tapşırıq A tərəfindən tutulan btrfs_zone_finish() zoned_meta_io_lock kilidi üzrə do_zone_finish() gözləyir> btrfs_inc_block_group_ro() btrfs_wait_for_commit() <Tapşırıq B tərəfindən yerinə yetirilən transaction T-nin commit olunmasını gözləyir> check_bg_is_active() funksiyasındakı paralel budaq məhz bu səbəbdən do_zone_finish() ətrafında artıq zoned_meta_io_lock kilidini buraxır. Eyni prosesi tree-log budağında da tətbiq edin: btrfs_zone_finish_one_bg() ətrafında kilidi azad edin və sonra yenidən əldə edin. Kilid yalnız fs_info->active_{meta,system}_bg-ni qoruyur ki, bu budaq ona toxunmur, və ctx->zoned_bg kilidin açılması zamanı blok qrupuna istinadı saxlayır, beləliklə kilid buraxıldıqda heç bir məlumat itmir. Bu donma halı zoned btrfs fayl sistemində fstests generic/475 ilə araşırda bəzən təkrarlanır.
Necə düzəltmək olar
- Linux Linux18577e77c2c8adaadf1f7c6e9bcd1c0b14e5dcdd, c3320873e0c04ce7b746fc8fe948f07bbbbdec33, deddd28fd83c264ee2ff5cd6b34449a9f1be6112, 75859a7cd77cd2ddaddbcb963e3fcd34738953af, 1ebe51c29fa9755d5b2fea28727c051117907cf8, 6.6 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 13bb483d32abb6f8ebd40141d87eb68f11cc2dd2 ≤ v < 18577e77c2c8adaadf1f7c6e9bcd1c0b14e5dcdd, 13bb483d32abb6f8ebd40141d87eb68f11cc2dd2 ≤ v < c3320873e0c04ce7b746fc8fe948f07bbbbdec33, 13bb483d32abb6f8ebd40141d87eb68f11cc2dd2 ≤ v < deddd28fd83c264ee2ff5cd6b34449a9f1be6112, 13bb483d32abb6f8ebd40141d87eb68f11cc2dd2 ≤ v < 75859a7cd77cd2ddaddbcb963e3fcd34738953af, 13bb483d32abb6f8ebd40141d87eb68f11cc2dd2 ≤ v < 1ebe51c29fa9755d5b2fea28727c051117907cf8, fca3a1cd3ba47f1815e0c0fcdc9aafaf02ee0a75, 6.5.5 ≤ v < 6.6, 6.6 | 18577e77c2c8adaadf1f7c6e9bcd1c0b14e5dcdd, c3320873e0c04ce7b746fc8fe948f07bbbbdec33, deddd28fd83c264ee2ff5cd6b34449a9f1be6112, 75859a7cd77cd2ddaddbcb963e3fcd34738953af, 1ebe51c29fa9755d5b2fea28727c051117907cf8, 6.6 |
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.