Odebrany

CVE-2026-99228

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

io_uring/io-wq: nie trać sygnału, który kończy pracę

Kiedy wątek się kończy, anulowane są tylko jego śledzone żądania. Wtedy to
io-wq jest zburzone. io_wq_exit_workers() sygnalizuje każdemu pracownikowi, aby to otrzymał
wybudza się z przerywanego snu i czeka, aż wszyscy wyjdą. Przed
tak, wykonują pozostałą pracę. Nieograniczona praca jest
anulowane. Praca ograniczona jest wykonywana, ponieważ oczekuje się, że zakończy się sama.

Nie wszystko tak jest. Otwarte nie ma jeszcze pliku, więc liczy się jako ograniczone i
otwarcie FIFO czeka na drugi koniec. Właśnie po to jest ten sygnał.
Ale robotnicy są sygnalizowani raz, a pracownik, który nie rozpoczął
praca do tego czasu traci sygnał:

io_wq_exit_workers() io_worker_handle_work()
io_wq_worker_wake()
ustaw TIF_NOTIFY_SIGNAL
io_ przypisania_prądu_pracy()
io_run_task_work()
wyczyść TIF_NOTIFY_SIGNAL
io_wq_submit_work()
fifo_open()
czekaj_na_partnera()
wait_for_completion_timeout()

Wątek nigdy nie wychodzi z do_exit():

IORING_OP_OPENAT FIFO bez modułu zapisującego, IOSQE_ASYNC
wyjście z wątku, który go przesłał

zawiesza się w więcej niż 9 z 10 prób (4 procesory, KVM), aż do zakończenia procesu
zabity.

Ustaw TIF_NOTIFY_SIGNAL dla pracy ograniczonej rozpoczynanej za pomocą IO_WQ_BIT_EXIT
zestaw. Bit jest ustawiany przed sygnalizacją procesów roboczych i jest testowany
po usunięciu flagi za pomocą funkcji clear_notify_signal() udostępniającej
bariera. Zatem albo flaga pozostaje, albo fragment jest widoczny.

Praca rozpoczęta w momencie zakończenia io-wq jest traktowana jak praca
jest wykonywany w tym czasie: nie jest przerywany, chyba że czeka
przerywanie.

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