Linus Torvalds havde planlagt at offentliggøre versionen af Linux-kernen 6.13 på søndag, men det er sandsynligt, at testningen af gren 6.13 bliver forlænget med en uge på grund af stabilitetsproblemer i de ændringer, der blev forberedt af en Microsoft-medarbejder og accepteret i gren 6.13 i november. Der er også bemærket, at den patch, som forårsagede fejlen, blev indsendt usædvanligt — men blev accepteret, selvom den ikke modtog nogen bekræftelse (ACK) fra vedligeholdere af x86-arkitekturen, hvilket er en overtrædelse af almindeligt accepterede praksisser.
Patchen tilføjede muligheden for at bruge store hukommelsessider i ROX (Read Only Execute) tilstand under tildeling af hukommelse, der er beregnet til at rumme eksekverbar kode. ROX tillader anvendelse af hukommelse med eksekverbar kode i kun læseformat, hvilket gør det sværere at udnytte visse sårbarheder. I kernen 6.13 var brugen af cache til store eksekverbare hukommelsessider, reflekteret som ROX, som standard aktiveret for eksekverbar kode i moduler på x86_64-systemer. Ændringen løste problemet med kortlægning i ROX-tilstand af sider for endnu ikke fuldt dannet eksekverbar kode og gjorde det muligt at undgå midlertidig repaminering af ROX-sider til skrivemodus, indtil klargøringen af kernemoduler var afsluttet.
På den afsluttende testfase af kernen 6.13 afslørede en ingeniør fra Intel en fejl, der forhindrede kernen i korrekt at vække sig fra dvaletilstand på visse bærbare computere med Intel-processorer (for eksempel CPU'er baseret på Alder Lake mikroarkitektur). Fejlen optrådte ved kompilering af kernen med Clang-kompilatoren med aktiveret CFI (Control Flow Integrity), der blokerer for brud på den normale udførelsesorden (control flow) som følge af anvendelse af exploits, der ændrer de funktioner, som er lagret i hukommelsen. Som en midlertidig løsning foreslog vedligeholderne fra Intel og AMD, der er ansvarlige for x86-arkitekturen, at deaktivere brugen af EXECMEM_ROX i kernen 6.13, indtil en omfattende patch kan forberedes og testes for at løse problemet (den første løsning løste ikke problemet).
Kilde: opennet.ru
