Terms of use and privacy changes for Firefox

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

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 look at the Zotero reference management tool

Zotero is an
open-source reference management tool designed for collecting,
organizing, and citing research materials. It is particularly useful
for those writing research papers, theses, or books that require a
bibliography in standard formats like APA
Style
, Chicago
Style
, or MLA
Format
. Zotero stores bibliographic metadata, annotations, and user
data and integrates with word processors like LibreOffice, Microsoft
Word, and Google Docs to produce in-text citations and
bibliographies. The core features of Zotero include metadata extraction,
tagging, full-text indexing, and cloud synchronization for
multi-device access, and Zotero has a plugin system to
allow anyone to expand its capabilities. The most recent major
release, Zotero 7, added
support for reading EPUBs, brought user-interface improvements
including a dark mode, performance improvements, and more.

[$] A hole in FineIBT protection

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

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.

[$] Building an open-source battery

FOSDEM 2025 featured the usual talks
about open-source software, but, as always, the conference also offered the
opportunity to discover some more exotic and less software-centric
topics. That’s how I learned about the Flow
Battery Research Collective
(FBRC), which is building what will
eventually become an open-source home battery.
Daniel Fernández Pinto represented the collective at
FOSDEM with his talk “Building
an Open-Source Battery for Stationary Storage
” in the “Energy: Accelerating
the Transition through Open Source
” developer room (devroom).

Gentoo now offers qcow2 disk images

The Gentoo Linux project has
announced
the availability of qcow2 images for amd64 (x86_64) and arm64
(aarch64), and plans to “eventually” offer images for the
riscv64 and loongarch64 architectures.

The images, updated weekly, include an EFI boot partition and a fully
functional Gentoo installation; either with no network activated but a
password-less root login on the console (“no root pw”), or with
network activated, all accounts initially locked, but cloud-init
running on boot (“cloud-init”).

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

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.

[$] Python interpreter adds tail calls

The

Faster CPython project
has been working to speed up the Python interpreter
for the past several years. Now, Ken Jin, a member of the project, has merged a

new set of changes
that
have been

benchmarked
as improving performance by 10% for some architectures.
The only change is switching from using computed goto statements to using
tail calls as part of the implementation of Python’s bytecode interpreter — but that change allows
modern compilers to generate significantly better code.

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

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.

[$] A possible path for cancelable BPF programs

The Linux kernel supports attaching BPF programs to many operations.
This is generally safe because the BPF verifier ensures
that BPF programs can’t misuse kernel resources, run indefinitely, or otherwise
escape their boundaries. There is continuing tension, however, between trying
to expand the capabilities of BPF programs and ensuring that the verifier can
handle every edge case. On February 14, Juntong Deng

shared
a proof-of-concept patch set that
adds some run-time checks to BPF to make it possible in the future to interrupt
a running BPF program.

[$] Slabs, sheaves, and barns

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.

[$] AlmaLinux considers EPEL 10 rebuild for older hardware

The AlmaLinux project has published
a request for comments (RFC) on rebuilding Fedora’s Extra Packages for
Enterprise Linux
(EPEL), which provides additional software for
Red Hat Enterprise Linux (RHEL) and its derivatives, to support older
x86_64 hardware that is not supported by EPEL 10. While this may
sound simple on the surface, the proposed rebuild carries a few
potential risks that the AlmaLinux and EPEL contributors would like to
avoid. The AlmaLinux
Engineering Steering Committee
(ALESCo) is currently considering
feedback and will vote on the RFC in March.

[$] Multi-host testing with the pytest-mh framework

The pytest-mh
project is a plugin that provides a multi-host test framework for the
popular pytest
unit-testing framework and test runner. Work on pytest-mh
started in 2023 to solve a multitude of issues that
cropped up for developers and testers when testing the SSSD project, which is a client for
enterprise identity management. I was not happy with the state of
testing of the SSSD project and wanted to create something that would
increase test readability, remove duplication, eliminate errors, and
provide multi-host testing capabilities, while having the flexibility
to build a new API around it. Finally, I also wanted something that
can be used by anyone to test their projects as well.