After being in development for more than two months, Linux kernel 5.19 is finally here and introduces support for ZSTD-compressed firmware files, support for AMD’s Secure Nested Paging feature, a new user-space API for managing MultiPath TCP (MPTCP) flows, initial support for Loongson’s “LoongArch” RISC ISA CPU architecture, as well as support for the ARM Scalable Matrix Extension (SME).
Also new support for supervisor-mode page-based memory types and the ability to run 32-bit binaries on 64-bit systems for RISC-V architectures, support for SMP coprocessors, KCSAN, and hibernation to the Xtensa architecture, a new generic ticket spinlock type to add support for full qspinlock implementation in various architectures like RISC-V, OpenRISC, and C-SKY, and a new FAN_MARK_EVICTABLE
flag to the fanotify mechanism to avoid pinning the targeted inode in the inode cache.
Linux 5.19 also adds a new Intel “in-field scan” mechanism to detect problems in Intel CPUs, a virtual machine implementation to the m68k architecture based on the Android Goldfish emulator, as well as support for storing billions of extended attributes with any given inode and a new “logged attribute replay” feature that allows multiple extended file attributes to be modified at the same time in an atomic fashion in the XFS file system.
On top of that, the EROFS read-only file system has been updated to use the fscache layer to boost the performance when running lots of containers, a new memory.reclaim proactive reclaim interface to trigger memory reclaim on a memory cgroup, the ability for the kernel to control the use of memory when using Zswap, and the ability to track modules that tainted the kernel.
Security-wise, Linux 5.19 improves the lockdown mode to prevent privileged processes from changing kernel memory outside of the kernel’s control, adds support for rules in the Landlock security module to control the renaming of files, adds support for fs-verity file digests to the Integrity Measurement Architecture (IMA), adds a Clang-compiled structure randomization hardening feature, and further improves the random-number generator.
Among other changes, Linux kernel 5.19 adds polled I/O support to the virtio-blk driver to boost latency by up to 10 percent, adds support for handling ID-mapped mounts to the OverlayFS file system, improves the debugging infrastructure for the SLUB memory allocator, the ability to store typed pointers in BPF maps, as well as various improvements to the io_uring subsystem and x86 split-lock detection mechanism.
Of course, there are also numerously updated and new drivers included in Linux kernel 5.19 to add support for new devices, including the Raspberry Pi Sense HAT joystick, Mega World controller’s force feedback, ThinkPad TrackPoint Keyboard II, and Google Whiskers touchpad.
In addition, Linux 5.19 implements a new “hardware timestamp engine” subsystem to support devices that can record timestamps in response to events, such as the NVIDIA Tegra 194.
Those of you who like to compile kernels can download Linux 5.19’s source tarball right now from the kernel.org website. Everyone else would have to wait for their distribution’s maintainer to upgrade the kernel(s) to version 5.19 before attempting to update their installations to the new Linux kernel series.
With Linux kernel 5.19 out the door, the merge window for the next kernel version, Linux kernel 5.20 is now open. However, it would appear that Linus Torvalds plans to finally ditch the 5.x series in favor of Linux 6.0. “I’ll likely call it 6.0 since I’m starting to worry about getting confused by big numbers again,” said Torvalds.