
Linux is a mostly free kernel similar to the Unix kernel. It is one of the main examples of free and open source software.
Last Sunday Linus Torvalds announced the release of the new version of the Linux Kernel 6.9 which comes with a series of significant changes, among which the dm-vdo module for deduplication and block device compression, improvements to the direct file access mode in FUSE, the ability to create pidfds for individual threads, the implementation of the BPF token mechanism, the support for Rust on ARM64 systems, among other things.
In the development of this new version of Linux 6.9 15,680 fixes implemented made by 2,106 developers. The patch size is 54 MB, with changes affecting 11,825 files and 687,954 lines of code have been added and 225,344 lines of code removed.
What's New in Linux Kernel 6.9?
In this new version of the Linux Kernel 6.9, one of the new features that stands out is the introduction of the new dm-vdo driver in Device Mapper. The controller allows the creation of virtual block devices based on existing block devices. This new device has capabilities such as data deduplication, data compression, empty block removal, and the ability to increase the block device size as needed.
Another change that stands out is in the subsystem FUSE in which an initial implementation of the "passthrough" mode has been introduced, which allows getting file data directly at the kernel level, thus avoiding a process running in userspace. This can significantly improve performance in certain situations.
In addition, in Linux 6.9 the file system Ext2 has been marked as deprecated. The reason for this is that the driver only supports 32-bit inode timers, which will overflow on January 19, 2038. It is suggested to use ext4 instead of ext2 as it supports the Ext2 file system .
On the other hand, the old controller NTFS has been removed and replaced by the new NTFS3 driver since kernel version 5.15. This was because the previous driver had not been updated for many years, was in poor condition, and only worked in read-only mode.
Furthermore, Various improvements and optimizations have been introduced to other file systems such as Btrfs, exFAT, F2FS, XFS, among others, to improve performance, functionality and compatibility with different devices and storage needs.
The indicator has been introduced PIDFD_THREAD in the pidfd_open function(), allowing the creation of pidfds for individual threads instead of just the thread group leader. Furthermore, an implementation of a pseudo-FS is proposed to access pidfd through a virtual file system.
Has Implemented protection against RFDS vulnerability on Intel Atom processors. This involves updating the microcode and using the VERW instruction to clear the contents of the microarchitectural buffers upon return from the kernel to user space.
Has been added basic support for AMD SEV-SNP extension (Secure Nested Paging) for guest protection. This extension provides secure operation of nested memory page tables and protects against specific attacks on AMD EPYC processors. KVM plans to integrate the changes necessary to use SNP in version 6.10.
Modules IMA and EVM have been ported to the LSM framework, which has simplified the code and combined duplicate functionality. IMA verifies the integrity of operating system components using digital signatures and hashes, while EVM protects extended file attributes from attacks that seek to violate their integrity.
Of the other changes that stand out:
- Netfilter now allows you to define tables from user space that are linked to the controlling background process. In nftables, adding items to sets with merged ranges has been accelerated, improving the efficiency of the packet filtering system.
- Work has been done on implementing support for Intel LunarLake chips, AMD RDNA3.5 and RDNA4 GPUs, as well as adapting the screen control code to Nouveau. The Xe drm driver for GPUs based on the Intel Xe architecture has been advanced for use in Intel Arc video cards and integrated graphics.
- Added support for a wide range of ARM boards and devices, including models from Rockchip, Allwinner, Qualcomm, Amlogic, Mediatek, NVIDIA, Renesas, and Mobileye SoC based on MIPS processors. This expands the kernel's compatibility with various platforms and devices.
- A new shared memory type, bpf_arena, has been added to the BPF subsystem, along with the ability to generate arbitrary TCP SYN cookies from BPF programs and the creation of BPF drivers to combat SYN flooding.
- Support has been implemented for parallel initialization of large memory pages (HugeTLB), which speeds up the boot process on systems with large amounts of RAM.
- Improvements and optimizations have been made to several architectures, including ARM64, LoongArch, and RISC-V, as well as to specific drivers such as amd-pstate and the USB_DEFAULT_AUTHORIZATION_MODE setting for USB devices.
- New features and improvements have been added to tools such as perf and LLVM/Clang, improving the processor's instruction disassembly capabilities and optimizing memory consumption when executing certain commands.
- Linus Torvalds rejected a proposal for a more extensive redesign of the core with the introduction of additional type definitions, opting for more specific solutions to address the identified problems.
If you are interested in knowing more about it, you can consult the details in the following link