Linux Kernel 6.0 Officially Released, This Is What’s New

Linux 6.0

Linus Torvalds announced today the release and general availability of Linux 6.0 as a major kernel series that brings new features, improved hardware support, as well as bug and security fixes.

After being in development for two months, Linux kernel 6.0 is finally here and introduces support for the AArch64 (ARM64) hardware architecture to swap transparent huge pages without splitting them, support for NVMe in-band authentication, support for PCI buses in the OpenRISC and LoongArch architectures, async buffered writes when using both XFS and io_uring, as well as io_uring zero-copy network transmission support.

Linux kernel 6.0 also brings support for the “Zicbom” extension to the RISC-V hardware architecture for managing devices with non-cache-coherent DMA, a new runtime verification subsystem that allows kernel state monitoring, support for generating new CXL memory regions, support for properly implementing POSIX access control lists on OverlayFS filesystems, and the implementation of the second generation of the Btrfs “send” protocol that supports sending large data and raw compressed extents.

Other noteworthy changes include new user-space memory management features in the DAMON mechanism, support for limiting the NFSv4 server to 1024 active clients at 1GB RAM, support for the EXT4 file system to fetch and set UUIDs stored in a file system superblock, support for the fsnotify subsystem to better control ignored events, support for sleepable BPF programs attached to uprobes, as well as new reports to the perf tool for lock contention tracepoints and BPF for in-kernel aggregation.

There are also good news for virtualization as Linux kernel 6.0 introduces a new pseudo-device called ‘guest vCPU stall detector’ that can act as a watchdog to tell the host if the VM has stalled. There’s also a new debugfs interface, a new BPF iterator, a new set of BPF kfuncs, new BPF helpers for generating and checking SYN cookies, and a new io_uring based user-space block driver in Linux 6.0.

“As is hopefully clear to everybody, the major version number change is more about me running out of fingers and toes than it is about any big fundamental changes. But of course there’s a lot of various changes in 6.0 – we’ve got over 15k non-merge commits in there in total, after all, and as such 6.0 is one of the bigger releases at least in numbers of commits in a while,” said Linus Torvalds.

Of course, Linux 6.0 also includes numerous updated and new drivers for better hardware support. On top of that, it adds many bug fixes and tweaks to provide better performance than previous kernels, most notably here being the tweaks to task placement on large systems, performance improvements to the in-kernel TLS implementation, and a new IORING_RECV_MULTISHOT flag to enable multi-shot operation with recv() calls.

Security-wise, Linux kernel 6.0 implements fetching of random-number seeds from bootloader’s setup data to the x86 and m68k kernels, support for the SafeSetID security module to control setgroups() changes, support for the ARIA encryption algorithm, as well as support for hooks attached to a control group or a single target process to the BPF security module.

Linux kernel 6.0 is available for download from Linus Torvald’s git repo for those who like to compile their own kernels. For everyone else, you’ll need to wait until your distro’s maintainer upgrades the kernel to version 6.0 before attempting to install it.

Last updated 2 months ago