KernelNewbies:

Linux 7.0 changelog.

Summary:

1. Prominent features

1.1. New API for file IO error reporting

Filesystems on Linux currently have no standard mechanism for reporting metadata corruption and file I/O errors to userspace via fsnotify. Each filesystem deals with the problem privately, and error reporting to fanotify is inconsistent or absent entirely.

This release introduces a generic fserror infrastructure that gives filesystems a standard way to queue metadata and file I/O error reports for delivery to fsnotify.

1.2. Support in XFS for a new health monitoring feature

This release adds new functionality to deliver live information about filesystem health events to userspace. This is done by creating an anonymous file that can be read() for events by userspace programs. Events like metadata health failures, file I/O errors, and major changes in filesystem state (unmounts, shutdowns, etc.) can be observed by programs.

In userspace, a new daemon program is created that will read the event objects and initiate repairs automatically. This daemon is managed entirely by systemd and will not block unmounting of the filesystem unless repairs are ongoing.

Documentation: XFS Online Fsck Design

1.3. Support for Clang static analysis support

This release adds support for a Clang (22 or later) language extension, which enables statically checking that required contexts are active (or inactive) by acquiring and releasing user-definable "context locks". An obvious application is lock-safety checking for the kernel's various synchronization primitives (each of which represents a "context lock"), and checking that locking rules are not violated. This can help to detect bugs at compilation time.

Recommended LWN article: Capability analysis for the kernel

1.4. Better io_uring support for filters

Due to its design, io_uring doesn't play well with the system call filtering done by system calls like seccomp. io_uring supports filtering, but it's not really usable for these cases. This release adds support for filtering, , which enablestighter control over what exactly a specific opcode may do. On top of that support is added for per-task filters, meaning that any ring created with a task that has a per-task filter will get those filters applied when it's created. These filters are inherited across fork as well. Once a filter has been registered, any further added filters may only further restrict what operations are permitted.

Recommended LWN article: Task-level io_uring restrictions

1.5. Extend open_tree(2) to allow for faster and simpler container setup

When creating containers the setup usually involves using CLONE_NEWNS via clone3() or unshare(), which copies the caller's complete mount namespace. After some tasks, the runtime will recursively umount the old mount tree thereby getting rid of all mounts. This can be wasteful and slow.

This release extends open_tree() with a new OPEN_TREE_NAMESPACE flag. Similar to OPEN_TREE_CLONE only the indicated mount tree is copied. Instead of returning a file descriptor referring to that mount tree OPEN_TREE_NAMESPACE will cause open_tree() to return a file descriptor to a new mount namespace. In that new mount namespace the copied mount tree has been mounted on top of a copy of the real rootfs. This allows OPEN_TREE_NAMESPACE to function as a combined unshare(CLONE_NEWNS) and pivot_root().

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing, perf and BPF

7. Virtualization

8. Cryptography

9. Security

10. Networking

11. Architectures

12. Drivers

12.1. Graphics

12.2. Power Management

12.3. Storage

12.4. Drivers in the Staging area

12.5. Networking

12.6. Audio

12.7. Tablets, touch screens, keyboards, mouses

12.8. TV tuners, webcams, video capturers

12.9. Universal Serial Bus

12.10. Serial Peripheral Interface (SPI)

12.11. Watchdog

12.12. Serial

12.13. CPU Frequency scaling

12.14. Voltage, current regulators, power capping, power supply

12.15. Real Time Clock (RTC)

12.16. Pin Controllers (pinctrl)

12.17. Memory Technology Devices (MTD)

12.18. Industrial I/O (iio)

12.19. Multi Function Devices (MFD)

12.20. Inter-Integrated Circuit (I2C + I3C)

12.21. Hardware monitoring (hwmon)

12.22. General Purpose I/O (gpio)

12.23. Leds

12.24. DMA engines

12.25. Cryptography hardware acceleration

12.26. PCI

12.27. Non-Transparent Bridge (NTB)

12.28. Clock

12.29. PHY ("physical layer" framework)

12.30. EDAC (Error Detection And Correction)

12.31. Various

13. List of Pull Requests

14. Other news sites

KernelNewbies: Linux_7.0 (last edited 2026-03-31 20:53:09 by diegocalleja)