CVE-2026-98919

Naməlum

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: drm/xe: adjust_idledly() funksiyasının sıfıra bölmə və daşma (overflow) hallarından qorunmasının gücləndirilməsi Baxış zamanı adjust_idledly() funksiyasında bir neçə kənar hal problemi aşkar edilmişdir: 1. Əgər xe_gt_clock_init() kristal saatını tanıya bilmədisə, gt->info.timestamp_base 0 olur ki, bu da idledly_units_ps dəyişənini 0 edir. Nəticədə növbəti DIV_ROUND_CLOSEST(..., idledly_units_ps) əməliyyatı sıfıra bölmə xətasına səbəb olur və kernel panic baş verir. 2. Tick-dən nanosananiyəyə (ns) çevirmələr u32 tipində yerinə yetirilir: idledly * idledly_units_ps, (maxcnt - 1) * 1000 Hər ikisi DIV_ROUND_CLOSEST() tərəfindən emal edilməzdən əvvəl u32 limitini aşaraq daşmaya (overflow) səbəb olur. 3. Əgər IDLE_WAIT_TIME 0 kimi oxunarsa, maxcnt 0-a bərabər olur və maxcnt - 1 məhdudiyyəti u32 formatında 0xFFFFFFFF-ə çevrilir. 4. Registr yalnız tam tick-ləri saxladığı üçün, məhdudlaşdırılmış ns dəyəri tiklərə çevrilməli və sonra yenidən geri qaytarılmalıdır. DIV_ROUND_CLOSEST() bu çevirməni yuvarlaqlaşdırarkən maxcnt-dən yuxarı qaldıra bilər: maxcnt = 640 ns, bir tick = 666664 ps məhdudiyyət: maxcnt - 1 = 639 ns ns -> tiklər: 639000 / 666664 = 0.958 -> 1 tick-ə yuvarlaqlaşır tick -> ns: 1 * 666664 / 1000 = 667 ns RING_IDLEDLY registrinə 667 ns yazılır, lakin 667 >= maxcnt (640) olduğu üçün, hər növbəti init zamanı xe_gt_WARN_ON() yenidən işə düşür. Əgər timestamp_base 0-dırsa (naməlum kristal yolu), proses erkən dayandırılır. Çevirmələr, daşmanın qarşısını almaq üçün *_ULL() köməkçi funksiyaları vasitəsilə u64 tipində yerinə yetirilir. Proqramlaşdırılan gecikmənin mütləq şəkildə maxcnt-dən aşağı qalması üçün alt hədd ilə məhdudlaşdırma (DIV_ROUND_DOWN_ULL) tətbiq edilir və maxcnt == 0 halı üçün sıfır gecikmə təmin edilirken, eyni zamanda INHIBIT_SWITCH_UNTIL_PREEMPTED bitinin təmizlənməsi üçün RING_IDLEDLY yazılması davam etdirilir. v2: timestamp_base == 0 yolundakı artıq xəbərdarlıq silindi; xe_gt_clock_init() artıq tanınmayan kristal saatı haqqında xəbərdarlıq verir. Sıfıra bölmənin qarşısını almaq üçün erkən geri dönüş saxlanıldı. - Vinay v3: Xammal tick sayını yazmaq əvəzinə, INHIBIT_SWITCH_UNTIL_PREEMPTED və rezerv edilmiş bitləri korlamamaq üçün RING_IDLEDLY yazılışı REG_FIELD_PREP(IDLE_DELAY, ...) ilə sahə maskalanmışdır. Inhibit-switch təmizləməsi maxcnt məhdudiyyətindən ayrıldı, beləliklə, təyin edilmiş inhibit biti, gecikmənin özü artıq düzgün olduqda lazımsız gecikmə yenilənməsinə səbəb olmayacaq. gt_to_xe(hwe->gt) əvəzinə gt_to_xe(gt) istifadə edildi. (commit d864065ea25e9d12897c175de9176ce46677e176-dən cherry pick edildi)

CiddilikNaməlum
CVSS—
İstismar ehtimalı—
MəhsulLinux
Dərc23 okt 2026
İlk görülmə23 okt 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux2bcbfc5e7bfa9cc76818c54db698da5bdc13d9ff, 531d4cd03118224022dc21ae25af052ce2a9e267, 90f467577ebc28c5bc4ba2f0f1b83a4419fb0740 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxd2de4410a88ffc6053300d03041cc73b8c85dbaf ≤ v < 2bcbfc5e7bfa9cc76818c54db698da5bdc13d9ff, d2de4410a88ffc6053300d03041cc73b8c85dbaf ≤ v < 531d4cd03118224022dc21ae25af052ce2a9e267, d2de4410a88ffc6053300d03041cc73b8c85dbaf ≤ v < 90f467577ebc28c5bc4ba2f0f1b83a4419fb0740, 6.152bcbfc5e7bfa9cc76818c54db698da5bdc13d9ff, 531d4cd03118224022dc21ae25af052ce2a9e267, 90f467577ebc28c5bc4ba2f0f1b83a4419fb0740

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.

Intelligence 360 paketində

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.

CVE-2026-98919 · Linux · Dark Radar