Linux 6.13 Core Bug Linked to Microsoft Employee Code

Linus Torvalds had initially planned to release the Linux 6.13 kernel this Sunday, but it seems that the testing of branch 6.13 will be delayed by a week. This delay is due to stability issues found in the changes proposed by an employee of Microsoft, which were submitted as a non-standard patch and accepted without receiving any confirmation (ACK) from the maintainers of the X86 architecture, violating common practices. You can find more details about these changes here.

The problematic patch introduced the ability to use large memory pages in Execmem_rox (Read Only Execute) mode for executable code memory. This feature complicates the handling of certain vulnerabilities. To address this issue, the Linux 6.13 kernel included the utilization of large memory pages cache for Rox in X86_64 systems, resolving mapping problems in ROX mode for unfinished code and eliminating the need for temporary repagination of ROX pages in write mode. More information on these changes can be found here.

During the final testing phase of the Linux 6.13 kernel, an engineer from Intel uncovered an issue that prevented the kernel from properly waking up on some laptops with Intel processors, particularly those based on the Alder Lake microarchitecture. This failure occurred when compiling the kernel with the Clang compiler in CFI (Control Flow Integrity) mode, which aims to prevent execution violations due to memory function alterations. As a temporary fix, Intel and AMD proposed disabling the use of execmem_rox in the Linux 6.13 kernel until a comprehensive patch is developed and tested to address this issue. The initial corrections suggested here did not resolve the problem. More details on this workaround can be found here.

/Reports, release notes, official announcements.