Odebrany

CVE-2026-99085

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

sched_ext: Napraw zawieszanie się procesora podczas podłączania podczas pracy, gdy zadania umierającego procesora znajdują się w harmonogramie BPF

Procesor, który przestaje działać, musi opróżnić swój własny rq. Jego wątek typu hotplug czeka
sched_cpu_wait_empty() do momentu, aż nie pozostanie nic innego, i jedyną rzeczą, która
budzi, jest to funkcja Balance_push(), która uruchamia funkcję __schedule() na umierającym procesorze
i wypycha zadania podlegające migracji wybrane przez procesor.

sched_ext przerywa to. Zadanie znajdujące się w DSQ użytkownika lub przechowywane przez BPF
program planujący jest nadal wliczany do swojego rq, ale nieaktywny procesor już nie wywołuje
ops.dispatch() i nie można cofnąć zadania. Umierający procesor przechodzi w stan bezczynności
zadanie nadal jest liczone i dzieje się jedna z dwóch rzeczy:

- Inny procesor zużywa zadanie. Rq opróżnia się bez włączonej funkcji __schedule().
umierający procesor, więc wątek hotplug nigdy nie jest budzony, a funkcja cpu_down() zawiesza się
trzymając cpu_hotplug_lock.
- Zadanie dotyczy tylko umierającego procesora. Nic nie jest w stanie go poruszyć i
tryb offline zatrzymuje się, dopóki watchdog nie wyrzuci harmonogramu BPF.

Gdy rq przejdzie w tryb offline, umieść ponownie w kolejce każde zadanie, które nie jest jeszcze włączone
lokalnego DSQ. Kolejka na rq offline ląduje na lokalnym DSQ, więc
umierający procesor sam wybiera zadania, a Balance_push() je odpycha,
tak samo jak w przypadku innych klas schematu. Od tego momentu nie ma ścieżki sched_ext
inny procesor może zdjąć zadanie z rq.

ops.dispatch() obecnie zatrzymuje się, gdy tylko procesor stanie się nieaktywny, i CPU
Hotplug następnie czeka na okres karencji RCU przed przełączeniem rq w tryb offline. A
Zadanie utrzymywane przez BPF jest powiązane tylko z umierającym procesorem i wywłaszczane wewnątrz RCU
sekcja krytyczna po stronie odczytu zablokowałaby ten okres karencji, a rq tak
nigdy nie przełączaj się w tryb offline. Przetestuj SCX_RQ_ONLINE bezpośrednio, aby funkcja ops.dispatch() zachowała się
działa, dopóki rq nie przejdzie w tryb offline. Tylko własny wątek hotplug umierającego procesora
usuwa flagę podczas rozłączania, a task_can_run_on_remote_rq() nadal działa
inne zadania rqs wyłączone z procesora.

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