CVE-2026-98310
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: drm/xe/shrinker: Sistem dışı belleği daraltmadan önce bir runtime PM referansı alın __xe_shrinker_walk(), bir runtime PM referansı olmadan SYSTEM ve TT LRU listelerini taramaktadır. Sistem belleği dışındaki bir bo nesnesinin daraltılması, cihazın yeniden başlatılmasını gerektiren GPU eşlemelerini geçersiz kılar; bu nedenle cihaz runtime askıya alınmış durumdayken sayfa tablosu temizleme işlemi bir assert tetikler ve TLB geçersiz kılma işlemi -ENODEV döndürür: WARNING: drivers/gpu/drm/xe/xe_bo.c:770 at xe_bo_move_notify+0x1fc/0x450 [xe] xe_bo_shrink+0x20f/0x2b0 [xe] __xe_shrinker_walk+0x174/0x410 [xe] xe_shrinker_scan+0x10c/0x1e0 [xe] do_shrink_slab+0x176/0x7e0 drop_caches_sysctl_handler+0x9c/0xf0 XE_PL_SYSTEM dışındaki bir bellek türünü taramadan önce bir referans alın ve referans alınamazsa işlemi orada durdurun. Geri kazanımın izin verdiği yerlerde cihazı doğrudan yeniden başlatan, aksi takdirde daha sonraki bir tarama için PM çalışanını sıraya alan mevcut shrinker edinme yolunu yeniden kullanın. Tarama hedefi karşılandığında taramayı durdurun, böylece tamamlanmış bir tarama cihazı uyandırmaz. Cihaz askıya alınmış durumdayken sistem belleği hala geri kazanılır. Bu işlem, xe_bo_trigger_rebind()'in hata modu olmayan bir vm için geçersiz kılma işlemini gerçekleştirdiği aynı koşul olan xe_device_is_l2_flush_optimized() fonksiyonuna bağlanmıştır, böylece diğer yerlerde geri kazanım etkilenmez. Sistem CCS kopyası zaten xe_bo_shrink() içinde kendi referansına sahiptir. Hata modu olan bir vm, LR modunu gerektirdiğinden ve bu mod vm ömrü boyunca bir runtime PM referansı tuttuğundan, buraya yalnızca hata modu olmayan bir vm ulaşabilir. GPU runtime askıya alınmış durumdayken igt@xe_madvise@dontneed-before-exec ile yeniden üretilmiştir. v2: needs_rpm kontrolü basitleştirildi. (Matt) Sorun 4e7ebff69aed tarafından eklenen hata modu olmayan yolla oluştuğu için Fixes etiketi yeniden hedeflendi. v3: Bu işlem xe_bo.c yerine xe_shrinker.c içinde ele alındı (Thomas) v4: Tarama hedefi karşılandığında tarama durduruldu. (Sashiko) v5: Serbest bırakılan sayfa muhasebesi düzeltmesi üzerine rebase yapıldı. (Sashiko) v6: Her zaman bir çalışan sıraya almak yerine runtime pm'nin doğrudan yeniden başlatılabilmesi için shrinker edinme yolu yeniden kullanıldı. (Thomas) v7: xe_pm_runtime_put() fonksiyonu xe_shrinker_runtime_pm_put() ile değiştirildi. (Thomas) (commit 628f92b28bf4c371c10207daf6fc4caee0c0db2e üzerinden cherry pick edildi)
Nasıl düzeltilir
- Linux Linuxb7f4d2588b1342bb190c04b3d7a32560f206c74c, 985862be16c7e4da808c51f393d631fb60c0be5c ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 4e7ebff69aed345f65f590a17b3119c0cb5eadde ≤ v < b7f4d2588b1342bb190c04b3d7a32560f206c74c, 4e7ebff69aed345f65f590a17b3119c0cb5eadde ≤ v < 985862be16c7e4da808c51f393d631fb60c0be5c, 7.1 | b7f4d2588b1342bb190c04b3d7a32560f206c74c, 985862be16c7e4da808c51f393d631fb60c0be5c |
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.