On August 16th Linus Torvalds released the stable Linux 7.2 kernel. We already covered what landed during the RC phase, so this is a wrap-up of the final release. The merge window was a record one: LWN counted 2,138 contributors, the most ever for a single merge window, including 404 newcomers, and 13,412 non-merge commits. Torvalds himself admitted in the announcement that he was not exactly thrilled about the size of it all, but said nothing in it looked scary and he saw no reason to delay.

Cache Aware Scheduling Ships for Real

The CONFIG_SCHED_CACHE option we wrote about during the RC phase landed in the stable kernel largely unchanged. The scheduler groups related tasks into the same L3 domain instead of scattering them across the whole chip, which matters most on machines with many cache domains (EPYC, large Xeons). On top of that, sched_ext gained topological CPU IDs: a dense, ordered numbering scheme where cores belonging to the same physical core, LLC or NUMA node form contiguous ranges, making it easier to write custom scheduling policies in BPF.

A Fairer Scheduler for the GPU

Something that was not in the RC yet: a “fair(er)” GPU scheduler modeled on the ideas behind the CPU’s CFS. Until now the GPU task queue ran on a FIFO basis, which under heavy load (rendering, compute) could starve interactive applications. The new scheduler aims to fix that without losing throughput.

Memory: MGLRU and the Swap Table

  • The MGLRU reclaim loop and dirty writeback handling were cleaned up and optimized, yielding up to roughly 30% higher performance on workloads like MongoDB with the YCSB benchmark, with fewer refaults.
  • Phase four of the swap table rework unifies allocation and metadata, driving the static memory overhead down to nearly zero. For a 1 TB swap device that is a savings of around 512 MB of RAM.
  • khugepaged can now collapse anonymous memory regions into multi-size transparent huge pages (mTHP), not just classic THP.

The End of strncpy(), for Real This Time

During the RC we noted that strncpy() had disappeared from the tree. In 7.2 that work is formally finished: it took over six years and 362 commits, 211 of which were written by Justin Stitt alone. The function was a classic source of bugs because it does not guarantee null termination while unconditionally zero-padding the buffer to its full length, which costs performance on large buffers and masks programmer mistakes. Its removal is one of the bigger symbolic milestones in the kernel’s long-running string-handling hardening effort.

Filesystems

  • ext4 a reworked fast commit mechanism with less lock contention, and directory hash computation now works on 4-byte chunks.
  • Btrfs large folios by default (as in the RC), experimental 2 MB folios, a new GET_CSUMS ioctl, and separately, capping BIO size on writeback plus removing DIO serialization gives around a 59% throughput increase on sequential writes.
  • NTFS the from-scratch driver introduced in 7.1 now natively supports Windows symbolic links.
  • NFSD directory delegations, automatic NFSv4 state cleanup on unmount, and the default block size grows to 4 MB on hosts with at least 16 GB of RAM.
  • exFAT moved onto the iomap infrastructure, with SEEK_HOLE/SEEK_DATA support added.
  • SMB/CIFS support for compressed files.

Security

  • On x86, the SRSO (Speculative Return Stack Overflow) mitigation was hardened: the kernel emulates a safe-ret sequence so the CPU never executes a direct RET during the vulnerable window, which matters especially around interrupt injection.
  • SELinux gained new policy-load-time checks that reject unclaimed class values, undefined booleans and malformed permissions. A performance regression in SysV IPC message queues was also fixed.
  • A new device mapper target, dm-inlinecrypt, offers a practical alternative to dm-crypt for inline encryption of block devices.
  • openat2() gained the OPENAT2_REGULAR flag (reject anything but regular files) and O_EMPTYPATH (reopen an O_PATH descriptor).
  • Landlock can now control UDP sockets, and IMA can stage measurement data outside the kernel.
  • The slab allocator gained compiler-assisted, type-based partitioning of slab caches.
  • Plenty of quiet network hardening too: Open vSwitch (200+ lines of fixes to socket handling and Netlink generation), IPSet (300+ lines of bounds checking), and race-condition fixes in MPTCP fastopen.

Virtualization

KVM gained support for AMD’s “guest-mode execution trap” and Intel’s MBEC (mode-based execution control), plus support for Intel TDX (Trusted Domain Extensions), hardware-isolated virtual machines protected even from the hypervisor.

Networking

MPTCP can now signal additional IPv6 addresses, PPPoE gained GRO/GSO, an implementation of the TCP Authentication Option (the successor to TCP MD5) landed, and Thunderbolt networking got another round of improvements.

Drivers and Hardware

GPU:

  • AMDGPU with initial HDMI 2.1 FRL support (confirmed from the RC)
  • Faster polling and other improvements for Intel Arc B390
  • Initial CRI platform support for the Intel Xe driver

CPU and platforms:

  • Rust on s390 (confirmed from the RC), support for the Intel Panther Lake R CPU model
  • New AArch64 hwcaps for the 2025 dpISA extensions
  • A new tlbi=ipi boot option

Other:

  • Intel’s USB4STREAM: streaming data directly over a USB4 cable through /dev/tbstreamX
  • Apple M3 still only boots to a console (as in the RC), but work continues
  • AMD ISP4 driver, Switchtec PCIe Gen6 switch controller
  • Expanded configuration for OneXPlayer handhelds and support for the HORI Wireless Switch Pad

Small but Noticeable

  • A pipe mutex optimization reduces contention, giving 6% to 28% higher throughput under load.
  • Reading /proc/filesystems and /proc/interrupts got faster.
  • BPF: page fault recovery in arenas via a scratch page, ptep_try_set() for lockless entry installation on x86/arm64, stack arguments for BPF functions and kfuncs, fast multi-function attach via tracing_multi, and resizable hash maps.
  • A race condition in robust futex unlock was fixed.
  • CONFIG_READ_ONLY_THP_FOR_FS was removed: transparent huge pages for files now also work on write, not just on read.

AI as the “New Normal”

The biggest difference in this cycle compared to previous ones is not any single feature, it is how the release came together. Torvalds described the scale of fixes flowing in through the RCs as the “new normal,” tying it directly to AI tools that continuously scan kernel code and surface bugs humans had missed or deprioritized for years. Roughly 5% of the commits in this release carry an assisted-by tag, marking that an AI tool was involved in finding or preparing the fix. A human still triages every report and approves the change, but the sheer volume of review work has clearly gone up. Torvalds had already defended this direction earlier, telling critics they could “fork the kernel or walk away” if they did not like it.

When It Reaches Distros

This is a non-LTS release. Rolling distros (Arch, openSUSE Tumbleweed) and Fedora 45 will get it first, and it will reach Ubuntu 26.10 as an optional HWE kernel.

Sources: Phoronix, 9to5Linux, Kernel Newbies, XDA Developers, strncpy, BetaNews, AI review, Slashdot