CVE-2026-98919

Belirsiz

Açıklama

Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: drm/xe: adjust_idledly() fonksiyonunun sıfıra bölme ve taşmaya karşı güvenliği artırıldı İnceleme sırasında adjust_idledly() fonksiyonunda birkaç uç durum sorunu tespit edilmiştir: 1. Eğer xe_gt_clock_init() kristal saatini tanıyamazsa, gt->info.timestamp_base 0 olur, bu da idledly_units_ps değerinin de 0 olmasına neden olur. Ardından gelen DIV_ROUND_CLOSEST(..., idledly_units_ps) işlemi bir sıfıra bölme hatasına yol açar ve çekirdek paniğine (kernel panic) neden olur. 2. Tick-to-ns dönüşümleri u32 olarak gerçekleştirilmektedir: idledly * idledly_units_ps, (maxcnt - 1) * 1000 Her ikisi de DIV_ROUND_CLOSEST() tarafından görülmeden önce u32 sınırlarını aşarak taşmaktadır. 3. Eğer IDLE_WAIT_TIME değeri 0 olarak okunursa, maxcnt 0 olarak değerlendirilir ve maxcnt - 1 sınırlaması u32 formatında 0xFFFFFFFF değerine döner. 4. Yazmaç yalnızca tam tick değerlerini sakladığından, sınırlanmış ns değerinin önce tick değerine dönüştürülmesi ve ardından tekrar ns değerine çevrilmesi gerekir. DIV_ROUND_CLOSEST() bu dönüşümü maxcnt değerinin üzerine yuvarlayabilir: maxcnt = 640 ns, bir tick = 666664 ps sınırlama: maxcnt - 1 = 639 ns ns -> ticks: 639000 / 666664 = 0.958 -> 1 tick'e yuvarlanır tick -> ns: 1 * 666664 / 1000 = 667 ns RING_IDLEDLY yazmacına 667 ns programlanır ancak 667 >= maxcnt (640) olduğu için, sonraki her başlatmada xe_gt_WARN_ON() yeniden tetiklenir. timestamp_base 0 olduğunda (bilinmeyen kristal yolu) işlem erken sonlandırılır. Taşmaları önlemek için dönüşümler *_ULL() yardımcıları aracılığıyla u64 ile yapılır. Programlanan gecikmenin kesinlikle maxcnt altında kalması için alt tabanlı bir sınırlama (DIV_ROUND_DOWN_ULL) uygulanır ve INHIBIT_SWITCH_UNTIL_PREEMPTED temizlenirken RING_IDLEDLY yazılmaya devam edecek şekilde maxcnt == 0 durumu sıfır gecikme ile korunur. v2: timestamp_base == 0 yolundaki gereksiz uyarı kaldırıldı; xe_gt_clock_init() tanınmayan kristal saati zaten uyarmaktadır. Sıfıra bölmeyi önlemek için erken dönüş korundu. - Vinay v3: Ham tick sayısını yazmak yerine, INHIBIT_SWITCH_UNTIL_PREEMPTED ve ayrılmış bitlerin bozulmasını önlemek için RING_IDLEDLY yazımı REG_FIELD_PREP(IDLE_DELAY, ...) ile alan maskelendi. Gecikmenin kendisi zaten geçerliyken, ayarlanmış bir inhibit bitinin gereksiz bir gecikme üzerine yazımını zorlamaması için inhibit-switch temizleme işlemi maxcnt sınırlamasından ayrıldı. gt_to_xe(hwe->gt) yerine gt_to_xe(gt) kullanıldı. (commit d864065ea25e9d12897c175de9176ce46677e176 üzerinden cherry pick yapılmıştır)

ÖnemBelirsiz
CVSS—
İstismar olasılığı—
ÜrünLinux
Yayın23 Eki 2026
İlk görülme23 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux2bcbfc5e7bfa9cc76818c54db698da5bdc13d9ff, 531d4cd03118224022dc21ae25af052ce2a9e267, 90f467577ebc28c5bc4ba2f0f1b83a4419fb0740 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxd2de4410a88ffc6053300d03041cc73b8c85dbaf ≤ v < 2bcbfc5e7bfa9cc76818c54db698da5bdc13d9ff, d2de4410a88ffc6053300d03041cc73b8c85dbaf ≤ v < 531d4cd03118224022dc21ae25af052ce2a9e267, d2de4410a88ffc6053300d03041cc73b8c85dbaf ≤ v < 90f467577ebc28c5bc4ba2f0f1b83a4419fb0740, 6.152bcbfc5e7bfa9cc76818c54db698da5bdc13d9ff, 531d4cd03118224022dc21ae25af052ce2a9e267, 90f467577ebc28c5bc4ba2f0f1b83a4419fb0740

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.

Intelligence 360 paketinde

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.

CVE-2026-98919 · Linux · Dark Radar