Odebrany

CVE-2026-89517

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: Naprawiono uszkodzenie rq->core_pick w podstawowym harmonogramie

Funkcja pick_next_task() planowania podstawowego wybiera, co ma zostać uruchomione na każdym rodzeństwie SMT
rdzeń w jednym przejściu pod współdzieloną blokadą rq obejmującą cały rdzeń. Wybór
stan jest spójny tylko wtedy, gdy zamek jest trzymany w sposób ciągły, tj
->pick_task() pierwotnie nie mógł go zwolnić. Jednakże od 4c95380701f5
(„sched/ext: Złóż balans_scx() w pick_task_scx()”), uruchamia się sched_ext
wysyłka z wnętrza picka i wysyłka może opuścić blokadę rq. Do
obsługuje to, funkcja pick_next_task() została zaktualizowana, aby zrestartować całość
wybór, gdy pick zwraca RETRY_TASK po zwolnieniu blokady.

Kiedy selekcje na tym samym rdzeniu przeplatają się przez upuszczoną blokadę, powodują one
psują sobie wzajemnie stan: jeden czyści drugiemu prowadzące do rq->core_pick
deref NULL lub unieważnia decyzję o zachowaniu poprzedniego zadania, pozostawiając a
usunięto z kolejki zadanie, które blokuje następne wybudzenie i dopasowuje plik
zgłosił ciężkie zawieszenie. Ciasteczkowy ładunek do ping-ponga na maszynie SMT sprawia, że
przeplatania są częste i zabijają jądro w ciągu kilku sekund.

Napraw to, ustawiając opcję powrotu RETRY_TASK za każdym razem, gdy wysyłka zwolniła
rq lock, tak że wybór zawsze zatwierdza tylko wybory dokonane pod a
stale trzymany zamek. Liczy się rq->scx.lock_drop_seq z poprzedniej łatki
wydania. Wysyłka, która niczego nie dotknęła, nigdy nie zwalnia blokady i
jego werdykt, obejmujący „nie ma co uciekać”, jest prawomocny: każda ponowna próba jest ograniczona
po wysłaniu, które faktycznie coś zrobiło, a bezczynny procesor tego nie robi
pętla.

Jeśli inna wysyłka jest już w locie na rq, pomiń wysyłanie i
wybierz z tego, co już znajduje się w lokalnej kolejce – tak zrobiła wysyłka na pokładzie samolotu
zwolnił blokadę, więc jego własny wybór spróbuje ponownie wybrać to rq,
podczas powrotu RETRY_TASK tutaj obracałby się tylko na zamku, który wysłał
musi dokończyć.

Wywołania zwrotne salda muszą działać w kontekście, który je umieścił w kolejce, więc mogą tylko
być kolejkowane na własnym rq procesora. Wysyłając kolejne żądanie, uruchom polecenie
zamiast tego bezpośrednio odroczono pracę - rq może pochłonąć wszystkie swoje typy
szybką ścieżkę zaplanowaną przez rdzeń i nigdy nie kolejkuj samego wywołania zwrotnego.

Ostrzeżenie put_prev_task_scx() o pozostawieniu wykonalnego zadania
założył, że wysyłka odbyła się w ramach tego samego odbioru, który się przełącza.
To teraz dotyczy tylko ścieżki innej niż podstawowa, więc zablokuj ją i porzuć
test dopasowania plików cookie, który jest zawsze prawdziwy bez podstawowego planowania, z jego
stan.

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