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 Linux Kernel version 6.9, which comes with a number of significant changes, including the dm-vdo module for block device deduplication and compression, improvements to direct file access mode in FUSE, the ability to create pidfds for individual threads, the implementation of the BPF token mechanism, support for Rust on ARM64 systems, and much more.
In the development of this new version of Linux 6.9, 15,680 fixes were implemented by 2,106 developers. The patch size is 54 MB, with changes affecting 11,825 files, and 687,954 lines of code were added and 225,344 lines removed.
What's New in Linux Kernel 6.9?
In this new version of the Linux kernel, 6.9, one of the most notable features is the introduction of the new dm-vdo driver in Device Mapper. This driver allows the creation of virtual block devices based on existing block devices . This new device offers functionalities such as data deduplication, data compression, empty block removal, and the ability to increase the block device size as needed.
Another notable change is in the FUSE subsystem, where an initial implementation of "passthrough" mode has been introduced . This allows data to be retrieved from files directly at the kernel level, thus avoiding a process that runs in user space. This can significantly improve performance in certain situations.
Furthermore, in Linux 6.9, the Ext2 file system has been marked as deprecated. This is because the driver only supports 32-bit inode timestamps, which will overflow on January 19, 2038. Using ext4 instead of ext2 is recommended, as it is backward compatible with the Ext2 file system.
Furthermore, the old NTFS driver 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 functioned in read-only mode.
In addition, several improvements and optimizations have been introduced in other file systems such as Btrfs, exFAT, F2FS, XFS, among others, to improve performance, functionality and compatibility with different devices and storage needs.
The PIDFD_THREAD flag has been introduced in the pidfd_open () function, allowing the creation of pidfds for individual threads instead of just for the thread group leader. Additionally, a pseudo-FS implementation is proposed for accessing pidfds through a virtual file system.
Protection against the RFDS vulnerability has been implemented in Intel Atom processors . This involves updating the microcode and using the VERW instruction to clear the contents of the microarchitecture buffers when returning from the kernel to user space.
Basic support has been added for the AMD SEV-SNP (Secure Nested Paging) extension 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 necessary changes to use SNP in version 6.10.
The IMA and EVM modules have been migrated to the LSM framework, simplifying the code and combining duplicate functionalities. IMA verifies the integrity of operating system components using digital signatures and hashes, while EVM protects extended file attributes from attacks that seek to compromise their integrity.
Other notable changes include :
- 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 learning more, you can find the details at the following link.