Odebrany

CVE-2026-98942

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: Zbuduj tabele cid prywatnie i opublikuj je za pomocą RCU

Tabele cid są widoczne dla cid kfuncs podczas modyfikacji: the
First Enable publikuje globalne wskaźniki przed ich wypełnieniem,
ops.init_cids() zastępuje je i ponownie umożliwia przebudowę
je na miejscu. Program wyścigowy TRACING lub SYSCALL może czytać niewypełnione
wpisy, w tym niezainicjowana pamięć w tabelach kmalloc lub podarta
aktualizacje topo.

Zamiast tego powiąż okresy istnienia tabel ze schematem głównym: włączenie każdego roota
buduje prywatnie nowy zestaw i raz publikuje globale __rcu dla każdej tabeli
układ jest ostateczny, a wyłączenie roota cofa publikację, a RCU zwalnia zestaw. A
Global o wartości innej niż NULL jest teraz zawsze w pełni zbudowaną tabelą, która pozostaje ważna dla
sekcja odczytu RCU czytnika i wyszukiwania pozostają dwa ładunki. Kfuncs traktuje NULL jako
no-mapping, także po wyjściu programu planującego, zamiast zgłaszać nieaktualne
ostatnie mapowanie.

Cid kfuncs są dostępne niezależnie od tego, czy program planujący główny ma postać cid, czy
cpu-forma, ta ostatnia umożliwia stopniową migrację do cid. Każdy korzeń
dlatego buduje i publikuje mapowanie domyślne.

Każdy czytnik musi być albo bramkowany pod kątem aktywności harmonogramu, albo sprawdzany przez NULL
wewnątrz sekcji odczytu RCU. Napraw dwa kfuncs, które nie były żadnym z nich:
scx_bpf_this_cid() odczytuje tabelę bez RCU lub zabezpieczenia przed wywłaszczeniem i
scx_bpf_task_cid() opiera się na KF_RCU, która nie udostępnia programu do spania
w sekcji odczytu RCU. Zamiast tego wywołania zwrotne typu hotplug są serializowane przez
wycofywanie tabel w sekcji cpus_read_lock(), która zostanie wyczyszczona
scx_root.

v2: Dokument, dlaczego każdy root tworzy tabele (desc + komentarz w cid.c).

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