Linux kernel 6.1 will contain fixes, features. Useful Rust modules? Not yet
But you get a super practical patch that prints CPU, core, and socket when you get a segfault
The merge window for contributions to Linux 6.1 is still open and incoming features include Wi-Fi security fixes and hardware tests.
Five new vulnerabilities in Linux's Wi-Fi handling have been identified and will be fixed in the forthcoming kernel 6.1. For completists, they are CVE-2022-41674 (kernels up to 5.19), CVE-2022-42719 (5.2 to 5.19), CVE-2022-42720 and CVE-2022-42721 (both 5.1 to 5.19), and CVE-2022-42722 (5.8 to 5.19).
Now that these are public, the fixes will doubtless be backported to the older kernels in use in the various enterprise distros.
Another useful new patch will display the processor and core number, and which socket it's in, when there is a segfault error in a program. As the patch's notes say, this isn't a perfect diagnostic, as it's possible that the fault program might have been rescheduled onto another core between the fault occurring and the message appearing, but it could help troubleshooting flakey CPU cores.
There is also more support for Intel's new Gaudi2 AI accelerator chip.
China's MIPS-like LoongArch processors, which gained support in GCC 12.1, got initial kernel support in 5.19, and received PCI bus support in 6.0, now gets support for UEFI boot and laptop motherboards, among other features. They are very hard to obtain outside the People's Republic of China, probably because the performance isn't very competitive, but shipping Loongson hardware does exist, as this review describes.
However, Torvalds giveth and Torvalds taketh away (with the help of his many lieutenants and thousands of contributors, of course).
Disappearing from the kernel in the next point release will be support for the
fwserial driver, which allows serial connections over FireWire. FireWire was a very useful interface in its time, strongly supported by Apple and Sony, but it disappeared from Macs a decade ago, and has been replaced by Thunderbolt and USB 3.
Also being removed is the ability to compile the kernel with the Intel C Compiler, ICC. As we noted when discussing Rust in the kernel, it's possible to compile Linux with both GCC and LLVM/Clang – but there was a third option: Intel's own in-house compilers. However, Intel itself is moving the compilers to the basis of LLVM, so this is now superfluous, and as of kernel 6.1, this will be back down to two.
- Oracle VirtualBox 7.0 is here – just watch out for the proprietary Extension Pack
- Linus Torvalds's faulty memory (RAM, not wetware) slows kernel development
- Removing an obsolete AMD fix makes Linux kernel 6 quicker
- Is it time to retire C and C++ for Rust in new programs?
On the subject of Rust in kernel 6.1, don't get too excited just yet. As an analysis on kernel commentary site LWN put it:
No system with a production 6.1 kernel will be running any Rust code.
The article says that Rust in the kernel needs Rust 1.62, released at the end of June, while so far, the Rust-GCC project targets Rust 1.49, which was released at the end of 2020.
At this stage, a "Hello, world" module is essentially the limit:
That is, to a first approximation, the extent of what can be done with Rust kernel modules in 6.1. Torvalds asked for something that could do "hello world" and that is what we got. It is something that can be played with, but it cannot be used for any sort of real kernel programming at this point.
Adding a second language to the world's biggest open-source project is a big deal, but don't expect much from the first version. The interesting stuff remains in the future. ®