Unforeseen complications have arisen for Linux users following the introduction of kernel changes aimed at enhancing performance. Developers are now urgently disabling the problematic update to prevent its inclusion in the stable release of Linux 6.13, scheduled for January 19.
The issue originated in November last year with a proposal from a Microsoft engineer to alter the kernel module operations. The suggestion involved employing large ROX (read-only execute) memory pages for storing executable code on Linux x86_64 systems. This approach was intended to reduce the load on the instruction translation lookaside buffer and significantly improve system performance.
However, initial tests quickly revealed serious issues. The new code was incompatible with systems utilizing Control Flow Integrity (CFI) technology. Moreover, Intel laptops experienced malfunctions when exiting hibernation mode.
Intel engineer Peter Zijlstra addressed the situation by adding a fix to the “x86/urgent” branch of the tip/tip.git repository. This patch is expected to be submitted to Linus Torvalds alongside the next x86/urgent update request. In his comments, Zijlstra explained that EXECMEM_ROX not only greatly complicated the structure of the alternative.c file but also introduced errors that disrupted certain CFI configurations. Although developer Mike is already working on necessary corrections, the functionality remains too unstable for deployment.
The community expressed significant frustration over the fact that the changes were merged into the kernel’s main branch without consultation with the x86/x86_64 architecture maintainers. According to experienced Linux developer Borislav Petkov of AMD, the code was not only introduced without the required approvals but was also left unremoved even after the bugs were identified.
Ultimately, the decision was made to temporarily disable support for EXECMEM_ROX while retaining the code itself. A configuration adjustment now prevents the problematic functionality from being enabled during kernel builds for the x86_64 architecture. A revised version of EXECMEM_ROX is expected to be introduced in the next development cycle—Linux 6.14.