CVE-2024-42274
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: Revert "ALSA: firewire-lib: operate for period elapse event in process context" 7ba5ca32fe6e numaralı commit ("ALSA: firewire-lib: operate for period elapse event in process context"), ek yükü kaldırmak amacıyla amdtp_domain_stream_pcm_pointer() ve update_pcm_pointers() fonksiyonlarından işlem bağlamı (process context) iş kuyruğunu kaldırmıştır. RME Fireface 800 ile bu durum, Kernels 5.14.0 sürümünden itibaren bir regresyona yol açmış ve ALSA işlemi sırasında alt akış kilidi için bir AB/BA deadlock yarışmasına neden olarak sistemin donmasına sebebiyet vermiştir: iş parçacığı 0: * (kilit A) snd_pcm_status64() içindeki snd_pcm_stream_lock_irq() ile alt akış kilidini edinir * (kilit B) ohci.c dosyasındaki ohci_flush_iso_completions() içindeki tasklet_disable_in_atomic() içindeki tasklet_unlock_spin_wait() çağrısı ile tasklet'in bitmesini bekler iş parçacığı 1: * (kilit B) tasklet'e girer * (kilit A) serbest bırakılmasını bekleyerek alt akış kilidini edinmeye çalışır: amdtp-stream.c dosyasındaki process_rx_packets() içindeki process_ctx_payloads() içindeki update_pcm_pointers() içindeki snd_pcm_period_elapsed() içindeki snd_pcm_stream_lock_irqsave() ? tasklet_unlock_spin_wait </NMI> <TASK> ohci_flush_iso_completions firewire_ohci amdtp_domain_stream_pcm_pointer snd_firewire_lib snd_pcm_update_hw_ptr0 snd_pcm snd_pcm_status64 snd_pcm ? native_queued_spin_lock_slowpath </NMI> <IRQ> _raw_spin_lock_irqsave snd_pcm_period_elapsed snd_pcm process_rx_packets snd_firewire_lib irq_target_callback snd_firewire_lib handle_it_packet firewire_ohci context_tasklet firewire_ohci snd_pcm_status64() içindeki snd_pcm_stream_lock_irq() ve snd_pcm_period_elapsed() içindeki snd_pcm_stream_lock_irqsave() için ALSA alt akış kilidi üzerinde meydana gelen AB/BA deadlock yarışmasını önlemek adına işlem bağlamı iş kuyruğu geri yüklenmiştir. 7ba5ca32fe6e numaralı commit ("ALSA: firewire-lib: operate for period elapse event in process context") geri alınmıştır. Gelecekteki deadlock durumlarını önlemek için satır içi açıklama değiştirilmiştir.
Nasıl düzeltilir
- linux linux_kernel5.15.165, 6.1.104, 6.6.45, 6.10.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.14 ≤ v < 5.15.165, 5.16 ≤ v < 6.1.104, 6.2 ≤ v < 6.6.45, 6.7 ≤ v < 6.10.4, 6.11 | 5.15.165, 6.1.104, 6.6.45, 6.10.4 |
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.