All posts by corbet

[$] Guard pages for file-backed memory

Post Syndicated from corbet original https://lwn.net/Articles/1011366/

One of the many new features packed into the 6.13 kernel release was guard
pages, a hardening mechanism that makes it possible to inject zero-access
pages into a process’s address space in an efficient way. That feature
only supports anonymous (user-space data) pages, though. To make guard
pages more widely useful, Lorenzo Stoakes has put together a patch
set
enabling the feature for file-backed pages as well; in the process,
he examined and resolved a long list of potential problems that extending
the feature could encounter. One potential problem was not on his list,
though.

Terms of use and privacy changes for Firefox

Post Syndicated from corbet original https://lwn.net/Articles/1012430/

There is a fair amount of unhappiness on the Internet about the announcement
from Mozilla about a new “terms of
use” agreement
and an updated
privacy notice
for the Firefox browser.

Firefox will always continue to add new features, improve existing
ones, and test new ideas. We remain dedicated to making Firefox
open source, but we believe that doing so along with an official
Terms of Use will give you more transparency over your rights and
permissions as you use Firefox. And actually asking you to
acknowledge it is an important step, so we’re making it a part of
the standard product experience starting in early March for new
users and later this year for existing ones.

Specifically, the apparent
removal
of a promise to not sell users’ personal data has drawn
attention.

(See also: this
analysis
by Michael Taggart. “So, is this Mozilla ‘going evil?’
Nah, prolly not. But it is at best clumsy, and a poor showing if they want
me to believe they care about Firefox, rather than the data it can
provide
“.)

McKenney: Speaking at Kernel Recipes

Post Syndicated from corbet original https://lwn.net/Articles/1012286/

Paul McKenney has put together a series of
articles
on how to improve one’s ability to give a good talk at a
technical conference.

On the other hand, (1) presentation skills stay with you through
life, and (2) small improvements in presentation skills over months
or years can provide you with great advantages longer term. An old
saying credited to Thomas Edison claims a breakdown of 1%
inspiration and 99% perspiration. However, my own experience with
RCU has instead been 0.1% inspiration, 9.9% perspiration, and 90%
communication. Had I been unable to communicate effectively,
others would have extreme difficulty using RCU, as in even more
difficulty than they do now.

There is a lot of speaking experience distilled into this set of posts.

[$] A hole in FineIBT protection

Post Syndicated from corbet original https://lwn.net/Articles/1011680/

Intel’s indirect
branch tracking (IBT)
is a hardware-implemented control-flow-integrity
mechanism that makes it harder for an attacker to gain control of the
system by way of a corrupted indirect branch. FineIBT is a software
extension to IBT that is meant to improve its protection. Recently,
though, Jennifer Miller reported a novel way to bypass
FineIBT by taking advantage of how the kernel’s system-call entry point is
constructed. In response, Peter Zijlstra is working on some FineIBT
enhancements to close that hole and make IBT more secure in general.

[$] LWN.net Weekly Edition for February 27, 2025

Post Syndicated from corbet original https://lwn.net/Articles/1011011/

Inside this week’s LWN.net Weekly Edition:

  • Front: Tail calls in CPython; BPF cancellation; Slabs, sheaves, and barns; Atomic block writes; Large filesystem block sizes; EPEL 10 for older CPUs; pytest-mh; Open-source battery.
  • Briefs: DMA discussion; Armbian 25.2; Gentoo qcow2; Aqualung 2.0; Emacs 30.1; Rust 1.85.0; Quotes; …
  • Announcements: Newsletters, conferences, security updates, patches, and more.

Two new site features: full-text RSS and automatic dark mode

Post Syndicated from corbet original https://lwn.net/Articles/1011830/

One of the often-requested LWN site features that has languished the
longest on our to-do list is full-text RSS feeds. We are happy to announce
that, finally, there is a set of such feeds available; the full set can be
seen on our feeds page. This is a
subscriber-only feature, and it works by creating a unique fetch URL for
each user. We will, of course, be counting on our readers to not share
those URLs.

Another feature we have had requests for is to automatically present the
site in dark-mode colors when a reader’s browser has been configured to
prefer it. That feature, too, is now available. In this case, we had to
think about the interaction between automatic selection and the color
customization that the site has long had. The conclusion we reached is
that, if custom colors have been configured for an account, they will win
out over the automatic selection. There is a new preference in the customization area to change this
default if desired.

Both of these features — and the other enhancements we have made recently —
were enabled by the support of LWN’s subscribers. By making it possible to
bring in new staff last year, you created the space to improve the site
experience while keeping up with the writing. We thank all of you for your
support.

A change in maintenance for the kernel’s DMA-mapping layer

Post Syndicated from corbet original https://lwn.net/Articles/1011819/

The conversation around the merging of a set of Rust abstractions for the
kernel’s DMA-mapping layer has mostly settled after Linus Torvalds made it clear that the code would be
accepted. One other consequence of this decision, though, is that
Christoph Hellwig has quietly stepped down from the
maintenance of the DMA-mapping code. Marek Szyprowski will be the
maintainer of that layer going forward. Hellwig has maintained that code
for many years; his contributions will be missed.

Security updates for Tuesday

Post Syndicated from corbet original https://lwn.net/Articles/1011764/

Security updates have been issued by AlmaLinux (libpq, postgresql:13, postgresql:15, and postgresql:16), Debian (nodejs and php-nesbot-carbon), Mageia (neomutt), Red Hat (python3.11-urllib3 and tuned), SUSE (crun, ovmf, pam_pkcs11, qemu, and webkit2gtk3), and Ubuntu (iniparser, libcap2, linux, linux-hwe, linux, linux-hwe-5.4, linux, linux-lowlatency, linux-azure, linux-azure-5.4, linux-bluefield, linux-gcp, linux-gcp-5.4, linux-ibm-5.4, linux-azure, linux-azure-fde, linux-gkeop, linux-nvidia, linux-oracle, linux-azure-5.15, linux-azure-fde-5.15, linux-oracle-5.15, linux-gcp, linux-gcp-5.15, linux-gke, linux-kvm, linux-lowlatency-hwe-5.15, and linux-xilinx-zynqmp).

[$] Slabs, sheaves, and barns

Post Syndicated from corbet original https://lwn.net/Articles/1010667/

The kernel’s slab allocator is responsible for the allocation of small
(usually sub-page) chunks of memory. For many workloads, the speed of
object allocation and freeing is one of the key factors in overall
performance, so it is not surprising that a lot of effort has gone into
optimizing the slab allocator over time. Now that the kernel is down to a single slab allocator, the
memory-management developers have free rein to add complexity to it; the
latest move in that direction is the per-CPU
sheaves patch set
from slab maintainer Vlastimil Babka.

Linus on Rust and the kernel’s DMA layer

Post Syndicated from corbet original https://lwn.net/Articles/1011197/

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

Post Syndicated from corbet original https://lwn.net/Articles/1011122/

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.

[$] Support for atomic block writes in 6.13

Post Syndicated from corbet original https://lwn.net/Articles/1009298/

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.

Security updates for Thursday

Post Syndicated from corbet original https://lwn.net/Articles/1011056/

Security updates have been issued by Debian (mosquitto), Fedora (gnutls, kernel, libtasn1, microcode_ctl, openssh, python3.10, python3.11, and python3.9), Red Hat (bind, bind9.16, buildah, container-tools:rhel8, podman, and redis:6), Slackware (libxml2), SUSE (dcmtk, google-osconfig-agent, java-17-openj9, kubernetes1.30-apiserver, kubernetes1.31-apiserver, openssh, and ruby3.4-rubygem-grpc), and Ubuntu (linux, linux-lowlatency and linux-aws, linux-azure, linux-gcp, linux-oracle, linux-raspi, linux-realtime).

A milestone for reproducible openSUSE

Post Syndicated from corbet original https://lwn.net/Articles/1010629/

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.