CVE-2026-46041
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: greybus: gb-beagleplay: hdlc_tx_frames() fonksiyonundaki atomik bağlamda uyuma sorunu düzeltildi hdlc_append(), dairesel tampon alanı beklemek için usleep_range() fonksiyonunu çağırır; ancak bu işlem hdlc_tx_frames() -> hdlc_append_tx_frame()/hdlc_append_tx_u8()/vb. üzerinden tx_producer_lock (bir spinlock) tutulurken gerçekleştirilir. Bir spinlock tutulurken uyumak yasaktır ve "BUG: scheduling while atomic" hatasını tetikleyebilir. Bu durum, tampon alanı bekleme işlemi hdlc_append() dışına çıkarılıp, spinlock edinilmeden önce hdlc_tx_frames() içerisine taşınarak düzeltilmiştir. Yeni akış şu şekildedir: 1. En kötü durumdaki kodlanmış çerçeve uzunluğu önceden hesaplanır. 2. Yeterli alan oluşana kadar kilit dışında beklenir (uyku modunda), bu sırada tamponun boşaltılması için TX tüketici işi tetiklenir. 3. Spinlock edinilir, alan yeniden doğrulanır ve tüm çerçeve atomik olarak yazılır. Bu sayede uykuda kalma işleminin yalnızca herhangi bir kilit tutulmadığında gerçekleşmesi sağlanır ve çerçevelerin ya tamamen kuyruğa eklenmesi ya da hiç yazılmaması garanti edilir. Bu hata, CodeQL statik analiz aracı (interprocedural sleep-in-atomic sorgusu) ve kod incelemesi ile tespit edilmiştir.
Nasıl düzeltilir
- linux linux_kernel6.12.86, 6.18.27, 7.0.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 | 6.7 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.27, 6.19 ≤ v < 7.0.4 | 6.12.86, 6.18.27, 7.0.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.