Odebrany

CVE-2026-89875

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

media: ti: vpe: wycisza odzyskiwanie po przepełnieniu przed zwolnieniem strumieni

Pracownik odzyskiwania przepełnienia VIP-a jest uzbrojony z poziomu obsługi hardirq, gdy a
Wykryto przepełnienie FIFO i ścieżka pełnej listy sprawdza strumień w górę
poprzez prywatny wskaźnik listy VPDMA. Oba dotykają strumienia, portu
i stan urządzenia; pracownik odzysku resetuje także parser i VPDMA,
ponownie zapełnia listę deskryptorów i ponownie włącza przerwania IRQ dla poszczególnych list.

vip_stop_streaming() maskuje i czyści przerwania IRQ dla poszczególnych list, ale to nie to samo
synchronizuje procedurę obsługi hardirq ani nie wyłącza recovery_work. Przepełnienie
Przerwanie, które już znalazło się w kolejce recovery_work lub przerwanie zawierające kompletną listę
lotu, gdy strumień zostanie zburzony, może zatem nadal dereferować
strumień po zwolnieniu jego zasobów: lista deskryptorów zostaje zwolniona przez
vip_release_stream() w przypadku wydania pliku, a sam strumień według
free_stream() przy rozłączaniu/usuwaniu.

Opróżnij proces odzyskiwania i moduł obsługi przerwań w obu punktach demontażu
poprzez współdzielony pomocnik vip_quiesce_stream() przed jakimkolwiek strumieniem
zasób jest zwolniony. Disable_work_sync() anuluje oczekujące recovery_work,
opróżnia działającą instancję i zwiększa jej głębokość wyłączenia, a więc kolejną
harmonogram_work() wydany przez wyścigową procedurę obsługi przerwań jest odrzucany
harmonogram kolejki roboczej: nie można ponownie kolejkować recovery_work
Disable_work_sync() zaczyna obowiązywać. Pracownik może nadal ponownie włączyć
przerwania IRQ na listę przed zwrotem funkcji Disable_work_sync(); w takim razie wyłącz_irqs().
maskuje te źródła, a synchronize_irq() czeka na dowolną procedurę obsługi w locie
to nadal dereferuje stan strumienia. W vip_stop_streaming() pomocnik
działa przed zatrzymaniem analizatora składni, ponieważ proces roboczy został wyczerpany
Disable_work_sync() może ponownie włączyć parser przed wyjściem i tak zrobi
w przeciwnym razie cofnij zatrzymanie. recovery_work jest tworzone jako wyłączone i włączone w
vip_start_streaming() przed przerwaniami, łącząc włączenie z porzuceniem
wyłączyć w całym cyklu przesyłania strumieniowego.

Ten problem został wykryty przez wewnętrzne narzędzie do analizy statycznej i potwierdzony
poprzez ręczny przegląd kodu.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org