Linus on Rust and the kernel’s DMA layer

At the end of January we ran this article
on the discussions around a set of Rust bindings for the kernel’s
DMA-mapping layer. Many pixels have been expended on the topic since
across the net, most recently in this
sprawling email thread
. Linus Torvalds has now made
his feelings known
on the topic:

You are not forced to take any Rust code, or care about any Rust
code in the DMA code. You can ignore it.

But “ignore the Rust side” automatically also means that you don’t
have any *say* on the Rust side.

You can’t have it both ways. You can’t say “I want to have nothing
to do with Rust”, and then in the very next sentence say “And that
means that the Rust code that I will ignore cannot use the C
interfaces I maintain”.

The code in question seems highly likely to be merged for the 6.15 release.

Rust 1.85.0 released

Version
1.85.0
of the Rust language has been released. Changes in the release
include support for async closures, some convenience iterators for tuples,
and a number of stabilized APIs. The headline feature, though, is that
this release stabilizes the Rust 2024
edition
, described as “the largest edition we have released“.
The 2024
edition guide
has a detailed listing of all the changes that were
incorporated this time around.

[$] Filesystem support block sizes larger than the page size

The maximum filesystem block size that the kernel can support has always
been limited by the host page size for Linux, even if the filesystems could
handle larger block sizes. The large-block-size (LBS) patches that were merged
for the 6.12 kernel removed this limitation in XFS, thereby decoupling
the page size from the filesystem block size. XFS is the first filesystem
to gain this support, with other filesystems likely to add LBS support in
the future. In addition, the LBS patches have been used to get the initial atomic-write support into XFS.

[$] Support for atomic block writes in 6.13

Atomic block writes, which have been discussed here a
few times in the past, are block operations that either complete fully or
do not occur at all, ensuring data consistency and preventing partial (or
“torn”) writes. This means the disk will, at all times, contain either the
complete new data from the atomic write operation or the complete old data
from a previous write. It will never have a mix of both the old and the new
data, even if a power failure occurs during an ongoing atomic write
operation. Atomic writes have been of interest to many Linux users,
particularly database developers, as this feature can provide significant
performance improvements.

Mozilla announces leadership updates and next chapter

Mark Surman, president of the Mozilla Corporation, has announced
leadership updates for Mozilla. This includes a Mozilla Leadership
Council made up of executives from each Mozilla organization, and new
board chairs for the not-for-profit Mozilla Foundation, the
Mozilla Corporation, and Mozilla.ai. The announcement also
indicates a desire to further “diversify” Mozilla’s focus:

We’ve recognized that Mozilla faces major headwinds in terms of both
financial growth and mission impact. While Firefox remains the core of
what we do, we also need to take steps to diversify: investing in
privacy-respecting advertising to grow new revenue in the near term;
developing trustworthy, open source AI to ensure technical and product
relevance in the mid term; and creating online fundraising campaigns
that will draw a bigger circle of supporters over the long
run. Mozilla’s impact and survival depend on us simultaneously
strengthening Firefox AND finding new sources of revenue AND
manifesting our mission in fresh ways. That is why we’re working hard
on all of these fronts.

[$] Extending time slices for user-space locks

Steven Rostedt recently posted

a patch set
that could help improve the performance of certain user-space
applications by giving the scheduler more context about when they are safe to
interrupt. The patch set lets programs request a small grace window
before they can be interrupted so that they can relinquish any locks, decreasing the
amount of time that other threads have to spend waiting. Rostedt shared
performance numbers suggesting that the patch might cut the amount of time spent
acquiring locks in half for some programs — although, since his test was
specifically tuned for this case, real-world projects should expect a somewhat
less dramatic improvement. The change received some pushback from scheduler
maintainer Peter Zijlstra, who objected to the patch set’s approach.

Mesa 25.0.0 released

Version
25.0.0
of the Mesa graphics library has been released. “The flashiest addition is probably the support for Vulkan 1.4 by Anv (Intel),
Asahi (Apple), Lavapipe (software), NVK (NVIDIA), PanVK (Mali), RADV (AMD),
and Turnip (Qualcomm).

Users can expect the usual flurry of improvements across all drivers and
components.“

[$] Meshtastic: decentralized communication with low-power devices

Many of us enjoy uninterrupted access to mobile networks. However, in
remote areas or during emergencies, that connectivity may not always be
available. For such scenarios, Meshtastic offers a decentralized
wireless mesh network with open-source firmware that runs on affordable,
low-power devices.
At FOSDEM 2025, the Meshtastic
project was represented by one of its core developers, Thomas Göttgens, who
gave a talk, “Meshtastic
– off-grid communication for everyone
“, in the Radio developer
room (devroom).

Lange: The secret maze of Debian images

Debian Developer Thomas Lange has written a blog post
in the attempt to help users find the right Debian image for their
systems.

It’s difficult to find the right Debian image. We have thousands of
ISO files and cloud images and we support multiple CPU architectures
and several download methods. The directory structure of our main
image server is like a maze, and our web pages for downloading are
also confusing.

Pi-hole v6 released

Pi-hole v6 has been released. The
latest version of the popular ad-blocking software sports a redesigned
user interface, has support for subscribing to allowlists, and brings
a new REST API and embedded web server. Its Docker/OCI image is now
based on Alpine Linux
rather than Debian to reduce image
size. See the announcement for guidance on upgrading existing Pi-hole
installations.

A milestone for reproducible openSUSE

The Reproducible-openSUSE project has announced
that it has created a usable version of openSUSE with 100% reproducible
packages.

[Bernhard] Wiedemann took on this 4-month-long project to create a
fork of openSUSE that has 100% bit-reproducible packages. So far
ring0 (aka bootstrap) and ring1 with 3,300 software packages have
all successfully been patched and tested.

This build is not yet recommended for production use, though.

[$] FUSE folio conversion confusion

Kernel developers have been working to convert various internal interfaces to
use

folios
; while this process has been progressing, there is still the
occasional regression introduced by the change. In December 2024, it was
discovered that installing a

Flatpak
application could trigger a filesystem bug in
the kernel that would cause the software to read incorrect data from the disk.
The problem was quickly fixed — only for an another problem caused by the folio
rewrite to pop up in the same kernel subsystem. This was discovered by an Arch
Linux user, who noticed that selecting files in a Flatpak application was
causing kernel crashes. Now both bugs are fixed, but there may be more bugs to find.

[$] 14 years of systemd

It is a standard practice to use milestones to reflect on the
achievements of a project, such as the anniversary of its first
release or first commit. Usually, these are observed at five and
ten‑year increments; the tenth anniversary of the 1.0 release, or 25
years since from the first public announcement, etc. Lennart
Poettering, however, took a different approach at FOSDEM 2025 with a keynote
commemorating 14 years of systemd,
and a brief look ahead at his goals and systemd’s challenges for the future.

Three stable kernels under the sky

Greg Kroah-Hartman has released three more stable kernels:
6.13.3,
6.12.14, and
6.6.78.
There was a bit of confusion that resulted in the patch for
CVE 2025-21687
getting applied twice — but that doesn’t result in any problems for users of the
kernel, just a bit of extra noise in the CVE database, so Kroah-Hartman has
decided to leave the releases as-is instead of rushing another point release.

Kernel prepatch 6.14-rc3

The 6.14-rc3 kernel prepatch is out for
testing; the announcement, for unknown reasons, went only to the
linux-btrfs list.

So the first few weeks of the 6.14 release development were
smaller-than-usual, but rc3 is actually right in line with normal
releases at this point. Probably just timing of pull requests, and
we’ll see how next week goes. But nothing looks worrisome.

Along with the usual stream of fixes, this release includes the “faux bus“, designed
for simple drivers that just need some sort of virtual bus to be associated
with; this bus come with Rust bindings from the
outset.

[$] Fighting the AI scraperbot scourge

There are many challenges involved with running a web site like LWN. Some
of them, such as finding the courage to write for people who know more
about the subject matter than we do, simply come with the territory we have
chosen. But others show up as an unwelcome surprise; the ongoing task of
fending off bots determined to scrape the entire Internet to (seemingly)
feed into the insatiable meat grinder of AI training is certainly one of
those. Readers have, at times, expressed curiosity about that fight and
how we are handling it; read on for a description of a modern-day plague.