Linus Torvalds plánoval zveřejnit vydání jádra Linux 6.13 tuto neděli, ale pravděpodobně se testování větve 6.13 prodlouží o týden kvůli problémům se stabilitou ve změnách, které připravil zaměstnanec Microsoftu a které byly přidány do větve 6.13 v listopadu. Dále bylo uvedeno, že záplata, která problém způsobila, byla podána nekonvenčně - ale byla přijata, i když nedostala žádné potvrzení (ACK) od maintainerů architektury x86, což je porušením obvyklých praktik.
Záplata přidávala možnost používat velké stránky paměti v režimu ROX (Read Only Execute) při alokaci paměti určené pro umístění spustitelných kódů. ROX umožňuje používat paměť se spustitelným kódem v režimu pouze pro čtení, což ztěžuje využívání některých zranitelností. V jádře 6.13 bylo pro spustitelný kód modulů na systémech x86_64 ve výchozím nastavení povoleno používání cache velkých spustitelných stránek paměti, reflektovaných jako ROX. Změna řešila problém s mapováním v režimu ROX stránek pro ještě plně nevytvořený spustitelný kód a umožnila se obejít bez dočasného repagingu ROX-stránek do režimu zápisu do doby, než byly moduly jádra připraveny k provozu.
V konečné fázi testování jádra 6.13 odhalil inženýr ze společnosti Intel problém, který bránil jádru správně se probudit ze spánkového režimu na některých noteboocích s procesory Intel (například s CPU založenými na mikroarchitektuře Alder Lake). Problém se projevoval při sestavení jádra kompilátorem Clang se zapnutým režimem ochrany CFI (Control Flow Integrity), který blokoval porušení normálního pořadí provádění (control flow) v důsledku použití exploitů, které mění uložené v paměti ukazatele na funkce. Jako dočasné řešení maintaineři ze společností Intel a AMD, odpovědní za architekturu x86, navrhli vypnout používání EXECMEM_ROX v jádře 6.13, dokud nebude připravena a otestována plnohodnotná záplata, která problém vyřeší (první varianta opravy problém nevyřešila).
Zdroj: opennet.ru
