Linus Torvalds has given the world the first release candidate of version 5.10 of the Linux kernel and called out what he's labelled an historic change – the removal of an addressing tool that appears to have been around for nearly 30 years, sparked a nasty bug a decade ago but has since been made redundant by chipmakers.
That scheme is called
set_fs() and allows the Linux kernel to override address spaces, which was a handy thing to do with Intel's 286 and 386 CPUs.
As Torvalds explained in his weekly kernel update,
set_fs() controls "whether a userspace copy actually goes to user space or kernel space". That matters because, as was detailed in 2010 in CVE-2010-4258, it could be used to "overwrite arbitrary kernel memory locations, and gain privileges".
This looks to be a bigger release than I expected. I'm not entirely sure whether this is just a general upward trend or just a fluke.
The bug was fixed, again way back in 2010, and over time chip-designers have moved on to improved memory management techniques. Torvalds wrote that this sort of memory space override has been banished from the x86, powerpc, s390 and RISC-V architectures.
set_fs(), which Torvalds says "goes back to pretty much the original release of Linux", has persisted.
"It's not a _huge_ change, but it's interesting," Torvalds wrote, adding: "To most people that all shouldn't matter at all, and it's mainly a small historical footnote that 5.10 no longer relies on the whole set_fs() model."
Torvalds rated the rest of the release "fairly normal".
Linux 5.10 to make Year 2038 problem the Year 2486 problemREAD MORE
"This looks to be a bigger release than I expected, and while the merge window is smaller than the one for 5.8 was, it's not a *lot* smaller. And 5.8 was our biggest release ever," he wrote, noting that it includes almost 14,000 commits from "closer to 1,700 people".
"I'm not entirely sure whether this is just a general upward trend (we did seem to plateau for a while there), or just a fluke, or perhaps due to 5.9 dragging out an extra week. We will see, I guess."
Big changes in this version of the kernel include end of support for PowerPC 601 CPUs, support for Nvidia's Orin SOCs intended for use in self-driving cars and robots, better support for the graphics driver in the Broadcom CPU used in the Raspberry Pi 4, revised Spectre mitigation for Arm CPUs and the usual bunch of accommodations for upcoming CPU and GPUs, virtualisation tweaks and crushing the year 2038 bug. ®