Linux 5.14 Bringing A Major Cleanup To The x86 FPU Code
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 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.