Linux 7.0 is a numbering reset with real substance: XFS reports its own damage to a repair daemon, Rust loses its experimental label, and several security and boot changes land. A guide by who it affects.
Linux 7.0 shipped on April 12, 2026, and the new number is mostly vanity. Linus Torvalds has long disliked large digits after the decimal point, so 6.19 rolled into 7.0 without an architectural break. Underneath the label sit changes that alter daily operation: a filesystem that reports its own damage to a repair daemon, a programming language that has stopped being a trial, and a set of removals that retire code nobody should miss.
This walkthrough sorts the release by what each change does for the person running the machine, whether that is a storage admin, a security team, a driver author or someone who just wants a laptop to boot. Each item appears in at least one release write-up, and the places where sources disagree are called out.
- XFS gains autonomous self-healing: the kernel reports live health events and a userspace daemon decides how to repair.
- Rust loses its experimental label in the kernel configuration.
- Security work includes ML-DSA signature support, removal of SHA-1 module signing, eBPF controls under SELinux and BPF filters for io_uring.
- AccECN is enabled by default for TCP congestion feedback.
- Laptop mode and half of the classic linuxrc initrd code are gone.
A version bump with real contents
Development began about two weeks after 6.19 landed in early February, according to heise, which stresses that the jump to 7.0 reflects numbering habit rather than a single headline feature. Phoronix notes that the kernel is the one underneath the upcoming Ubuntu 26.04 LTS, which is how most people will meet it.
The last stretch also produced two fixes worth knowing about. Phoronix reports a roughly three-year-old out-of-bounds access in the X.509 certificate code that unprivileged users could trigger, and a late correction for bogus hardware errors on AMD Zen 3 processors. To see which kernel a machine runs today:
uname -rXFS learns to report its own damage
The traditional answer to a damaged XFS volume is blunt: notice the symptom, take the filesystem offline and run xfs_repair. Linux 7.0 adds a gentler first line. As the KernelNewbies changelog puts it, the release delivers live information about filesystem health events to userspace, where a systemd-managed daemon reads them and starts repairs. Unmounting is not blocked unless a repair is actually running.
Heise supplies the mechanism. Events travel through file descriptors and an ioctl interface, and the userspace “healer” decides the response: a targeted scrub, a partial repair, or a restart of the workloads that touch the affected files. The approach complements xfs_repair rather than replacing it.
One consequence deserves attention. Because policy lives in userspace, the useful behavior depends on what a distribution ships and enables. None of the write-ups I read say which distributions will turn the daemon on by default.
For administrators, the practical gain is earlier warning. A health event delivered to a daemon can raise an alert, start a narrow scrub or restart a single workload before a small inconsistency grows into a volume-wide outage. How aggressively any of that happens is a configuration choice, which is why the split into kernel and userspace matters. The write-ups publish no benchmarks or failure-rate data, so claims about how much downtime the feature prevents remain untested.
Rust stops being a trial
Rust first entered the kernel in 6.1 in 2022 as a small “Hello, world” example module. In 7.0 the configuration menu no longer marks it experimental. Maintainer Miguel Ojeda says it is “here to stay,” per heise, and Linux Magazine describes it as mainly a tool for new device drivers, with GPU, network and storage drivers as examples.

The change is one of status, not scope. Heise points out that many subsystems still offer limited or no Rust interfaces, and maintainers remain free to keep Rust out of their areas. Nobody is rewriting the kernel in a new language.
On the C side, new allocation macros named kmalloc_obj(), kmalloc_objs() and kmalloc_flex() derive the allocation size from the object type and check types at compile time. They also work with __counted_by() on flexible array members, and GFP_KERNEL can often be left out. Heise adds that many existing call sites were converted automatically.
Security changes worth a ticket
- Post-quantum signatures. KernelNewbies lists ML-DSA support in X.509 certificates and PKCS#7 or CMS messages, and Linuxiac describes it as available for kernel module authentication.
- SHA-1 module signing is removed. Anyone whose build pipeline still signs modules with SHA-1 should check it before moving to 7.0.
- eBPF meets SELinux. Per heise, processes need explicit permission to load programs, attach them to hooks or use eBPF objects, and eBPF structures can carry security contexts.
- io_uring filters. Classic BPF filters can restrict io_uring operations. KernelNewbies says per-task filters apply to rings that task creates, pass to child processes and can only tighten restrictions once registered.
Boot, memory and storage housekeeping
A minimal pseudo filesystem called nullfs arrives, and pivot_root() now works from the initramfs. KernelNewbies describes nullfs as an immutable filesystem at the root of the mount tree with a mutable tmpfs or ramfs mounted on top. The same page lists the linuxrc change as removing half of the classic initrd support, while Linuxiac reads it as initramfs becoming the only early-userspace path. The commit wording is the more careful of the two, so treat “half” as the safe summary.
Elsewhere the swap rework reaches phase two of the swap table, a long effort that began in 6.18. Btrfs gains direct I/O for block sizes larger than the page size. Phoronix adds that Intel TSX now defaults to auto mode and that I/O error reporting has been standardized across the kernel.
Then comes a retirement. Laptop mode, added in the 2.4 era to batch disk writes on spinning drives, is on its way out. Heise says its maintenance cost no longer makes sense now that SSDs dominate laptops.
Networking: AccECN switches on
Accurate ECN, defined in RFC 9768, lets a receiver send more than one congestion feedback signal per round trip. It was experimental in 6.18. In 7.0 KernelNewbies says it is finally enabled by default, which should give congestion control algorithms finer information to work with.

New hardware enablement
According to Phoronix, this cycle includes more Intel Nova Lake enablement, continued bring-up of the Intel Crescent Island accelerator, new AMD graphics IP blocks, additional ASUS device IDs for the Armoury driver, and new HID codes for the AI agent keys expected on upcoming laptops.
Enablement work of this kind lands well before products do. A distribution cannot boot on a new platform until the kernel understands it, so these lines are the earliest public sign of which Intel and AMD hardware is coming, even though the write-ups give no release dates.
What the release notes do not cover
None of the summaries I read describe scheduler changes, and none offer benchmark numbers, so any claim about speed-ups in 7.0 rests on guesswork. Linuxiac also lists items such as zram writeback without decompression, CAKE multiqueue support and early groundwork for Wi-Fi 8. I could not confirm those against a second source, so they are left out above. Kernel changelogs run long, and the KernelNewbies page in particular is easier to trust for the headline features than for every line item. Anyone planning a production upgrade should read the upstream release notes for their own subsystems.
Who should care about what
| If you run or build… | Change to look at |
|---|---|
| XFS volumes on servers | Health-event reporting and the userspace healer; confirm whether your distribution enables it |
| Signed kernel modules | SHA-1 signing removed, ML-DSA support added |
| Hardened multi-user hosts | SELinux control over eBPF, io_uring BPF filters, the X.509 fix |
| Drivers or kernel code | Rust no longer experimental, kmalloc_obj() family |
| Initramfs-based or embedded boot | nullfs, pivot_root() in initramfs, partial linuxrc removal |
| Busy network paths | AccECN on by default |
| Laptops | Laptop mode removed |
A short pre-upgrade checklist
- Search build and signing tooling for SHA-1 module signing, which no longer works.
- Check whether your initramfs setup leans on classic linuxrc-style initrd behavior, half of which has been removed.
- On XFS hosts, find out whether your distribution packages and enables the health-event daemon.
- Test eBPF programs under your SELinux policy, since loading them now needs explicit permission.
- Review scripts that touch /proc/sys/vm/laptop_mode, the control for the feature being removed.
Questions readers ask
Is Linux 7.0 a major rewrite?
No. The version number changed because Torvalds prefers not to keep counting past x.19. The content is an ordinary release with a few notable features.

Does Rust replace C in the kernel?
No. Rust is mainly used for new drivers, many subsystems have little or no Rust support, and maintainers can decline it in their areas.
Does self-healing XFS make xfs_repair obsolete?
Heise says the feature complements xfs_repair rather than replacing it.
How do I get Linux 7.0?
Most people will receive it through a distribution. Phoronix notes it underpins the upcoming Ubuntu 26.04 LTS. Check your distribution release notes for its exact kernel version.
