Odebrany

CVE-2026-98749

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ę:

tty: serial: max3100: wyłącz licznik czasu przed zwolnieniem portu

max3100_shutdown() zatrzymuje licznik odpytywania, ale wraca wcześniej w trakcie
zawieszenie systemu. Jeśli urządzenie SPI zostanie odłączone przed wznowieniem, plik serial
core nie wywołuje ponownie funkcji max3100_shutdown(), więc funkcja max3100_remove() zwalnia
portu, gdy timer pozostaje uzbrojony. max3100_timeout() może wtedy
uzyskać dostęp do uwolnionego portu i ponownie uzbroić timer.

Dodaj końcowe rozbicie timera do max3100_remove() i użyj
timer_shutdown_sync(), aby zapobiec ponownemu uzbrojeniu przez wywołanie zwrotne wyścigowe.
Zwolnij także przerwanie IRQ i zniszcz znajdującą się tam kolejkę roboczą przed zwolnieniem
portu. Zachowaj timer_delete_sync() w max3100_shutdown() tak, aby a
kolejne open() może ponownie uzbroić timer.

Kolejka robocza jest tworzona przed request_irq() i niszczona w obu przypadkach
Błąd request_irq() i normalne zamknięcie. Jego obecność w ten sposób jest usuwana
identyfikuje pozostawione przerwanie IRQ zarejestrowane, gdy zawieszenie omija wyłączenie.

W obu przypadkach zwolnij przerwanie przed zniszczeniem kolejki roboczej
max3100_shutdown() i max3100_remove() i anuluj oczekującą pracę
pomiędzy. free_irq() czeka na uruchomioną procedurę obsługi przerwań
zakończyć i żaden nowy przewodnik nie może później rozpocząć pracy, więc przewodnik wyścigowy
nie można umieścić pracy w kolejce roboczej, która jest niszczona; the
sprawdzenie force_end_work w max3100_dowork() tylko zawęża to okno, ponieważ
procedura obsługi opóźniona między sprawdzeniem a kolejką_work() może nadal działać
po usunięciu wskaźnika kolejki roboczej. Anulowanie
work powstrzymuje także funkcjęzniszcz_workqueue() przed czekaniem na element pracy w kolejce
na wypadek, gdyby funkcja usuwania() kiedykolwiek została uruchomiona, gdy kolejka robocza, którą można zablokować, jest nieruchoma
mrożone, np. usunięcie urządzenia w oknie wznowienia, wcześniej
kolejki pracy są rozmrażane.

Ten problem został wykryty przez wewnętrzne narzędzie do analizy statycznej.

>_ 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