Linux 5.14 Bringing A Major Cleanup To The x86 FPU Code

The Linux 5.14 kernel so far is running smoothly in my early tests across a variety of systems but coming in this morning is a pull request having the potential to cause some fall-out on x86/x86_64 systems but hopefully will not.

Thomas Gleixner this morning submitted a pull request with various changes around the kernel's FPU handling code for x86/x86_64. The work includes preventing the signaltstack from having out-of-bounds writes that could silently corrupt user-space data but more pressing is a a major cleanup of the x86 FPU code.

Stemming from the recent nasty code mess around the Intel FPU/XSTATE handling mess in the kernel, Gleixner has been reworking the x86 FPU code to make it more robust and fix a large number of inconsistencies. This is a "fine granular overhaul" and should make the code more maintainable moving forward and work out better for upcoming XSTATE-related features to be supported in "sane ways".

As it is a big rework to the x86 FPU code, there is the risk of issues, but they are hopefully under control now. Gleixner added in the pull request, " This PR comes late so the changes could soak for a while in -next. The changes have been extensively tested by various teams at Intel and the marginal fallout has been addressed. Some test cases have been added already, but there is a larger set of Intel internal tests coming up soon which will allow to catch similar issues in the future. "

More details on the kernel mailing list .