Vue lecture

The BPF instruction set architecture is now RFC 9669

✇LWN
Par : corbet
After a couple of years of effort, the BPF instruction set architecture has been accepted as RFC 9669, giving it a standard outside of the in-kernel implementation. This message from David Vernet (who also contributed an article on the standardization process last year) describes the process and why it is important:

Though some vendors have already implemented BPF offloading capabilities without having a standardized ISA, others are not quite as risk tolerant. As Christoph [Hellwig] discussed at LSFMM 2022, certain NVMe vendors have expressed an interest in building BPF offloading capabilities for various use cases such as eXpress Resubmission Path (XRP), but they simply can't fund such a project without certain components of BPF being standardized. Hence, the effort to standardize BPF was born.

Security updates for Tuesday

✇LWN
Par : corbet
Security updates have been issued by AlmaLinux (firefox, openexr, and thunderbird), Fedora (llama-cpp and python-quart), Oracle (firefox, openexr, thunderbird, and xorg-x11-server and xorg-x11-server-Xwayland), SUSE (chromium, govulncheck-vulndb, openssl-1_1, python311, and python312), and Ubuntu (linux-azure, linux-bluefield, linux-azure, linux-gcp, linux-ibm, openjpeg2, and ruby3.0, ruby3.2, ruby3.3).

[$] The OpenWrt One system

✇LWN
Par : corbet
OpenWrt is, despite its relatively low profile, one of our community's most important distributions; it runs untold numbers of network routers and has served as the base on which a lot of network-oriented development (including the bufferbloat-reduction work) has been done. At the beginning of 2024, a few members of the project announced a plan to design and produce a router device specifically designed to run OpenWrt. This device, dubbed the "OpenWrt One", is now becoming available; the kind folks at the Software Freedom Conservancy were kind enough to ship one to LWN, where the desire to play with a new toy is never lacking.

Kernel prepatch 6.12-rc6

✇LWN
Par : corbet
The 6.12-rc6 kernel prepatch is out for testing. Linus says: "Another week, another rc. Nothing odd or special seems to be going on - this may be a bit on the bigger side for an rc6, but not hugely so, and nothing stands out."

Flock: a Flutter fork

✇LWN
Par : corbet
A project called Flock has announced its existence. Flock is a fork of the Flutter user-interface toolkit project, motivated by frustration with the resources that Google is putting into Flutter.

We describe Flock as "Flutter+". In other words, we do not want, or intend, to fork the Flutter community. Flock will remain constantly up to date with Flutter. Flock will add important bug fixes, and popular community features, which the Flutter team either can't, or won't implement.

(LWN looked at Flutter in 2020).

Kernel prepatch 6.12-rc5

✇LWN
Par : corbet
Linus has released 6.12-rc5 for testing.

rc5 looks perfectly normal, and maybe even on the small side of normal. The diffstat looks nice and flat too, with the exception of the removal of the da8xx fbdev driver due to it having been replaced by the tilcdc driver. And I'm sure we're all thinking the same thing: "What lovely descriptive driver names we have".

[$] realloc() and the oversize importance of zero-size objects

✇LWN
Par : corbet
Small objects can lead to large email threads. In this case, the GNU C Library (glibc) community has been having an extensive debate over the handling of zero-byte allocations. Specifically, what should happen when a program calls realloc() specifying a size of zero? This is, it seems, a topic about which some people, at least, have strong feelings.

Several Russian developers lose kernel maintainership status

✇LWN
Par : corbet
Perhaps one of the more surprising changes in the 6.12-rc4 development kernel was the removal of several entries from the kernel's MAINTAINERS file. The patch performing the removal was sent (by Greg Kroah-Hartman) only to the patches@lists.linux.dev mailing list; the change was included in a char-misc drivers pull request with no particular mention.

The explanation for the removal is simply "various compliance requirements". Given that the developers involved all appear to be of Russian origin, it is not too hard to imagine what sort of compliance is involved here. There has, however, been no public posting of the policy that required the removal of these entries.

Update: Linus Torvalds has since publicly supported this action and said that it will not be reverted.

Update 2: James Bottomley has clarified the requirements:

If your company is on the U.S. OFAC SDN lists, subject to an OFAC sanctions program, or owned/controlled by a company on the list, our ability to collaborate with you will be subject to restrictions, and you cannot be in the MAINTAINERS file.

OpenSSL 3.4.0 released

✇LWN
Par : corbet
Version 3.4.0 of the OpenSSL SSL/TLS library has been released. It adds a number of new encryption algorithms, support for "directly fetched composite signature algorithms such as RSA-SHA2-256", and more. See the release notes for details.

Security updates for Tuesday

✇LWN
Par : corbet
Security updates have been issued by Debian (ffmpeg, ghostscript, libsepol, openjdk-11, openjdk-17, perl, and python-sql), Oracle (389-ds-base, buildah, containernetworking-plugins, edk2, httpd, java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk, java-21-openjdk, kernel, python-setuptools, skopeo, and webkit2gtk3), Red Hat (buildah), Slackware (openssl), SUSE (apache2, firefox, libopenssl-3-devel, podman, and python310-starlette), and Ubuntu (cups-browsed, firefox, libgsf, and linux-gke).

A new kernel testing tree

✇LWN
Par : corbet
Sasha Levin has announced a new tree that is intended to perform continuous-integration tests of pull requests aimed at the mainline. The plan is for this tree to hold more finished work than sometimes ends up in linux-next; in a name that seems destined to create typographical confusion, it is called "linus-next".

The linus-next tree aims to provide a more stable and testable integration point compared to linux-next, addressing the runtime issues that make testing linux-next challenging and focusing on code that's about to be pulled by Linus.

Kernel prepatch 6.12-rc4

✇LWN
Par : corbet
Linus has released 6.12-rc4 for testing. "I'm not happy with how big this is - it's probably far from the biggest rc4 ever, but it _is_ the biggest rc4 we've had in the 6.x series at least in number of commits."

[$] The long road to lazy preemption

✇LWN
Par : corbet
The kernel's CPU scheduler currently offers several preemption modes that implement a range of tradeoffs between system throughput and response time. Back in September 2023, a discussion on scheduling led to the concept of "lazy preemption", which could simplify scheduling in the kernel while providing better results. Things went quiet for a while, but lazy preemption has returned in the form of this patch series from Peter Zijlstra. While the concept appears to work well, there is still a fair amount of work to be done.

Rust 1.82.0 released

✇LWN
Par : corbet
Version 1.82.0 of the Rust language has been released. There are a lot of new features this time, including a cargo info command, tier-1 support for 64-bit Apple Arm systems, a new native syntax (&raw) to create raw pointers, changes to unsafe extern, unsafe attributes, standardized rules around the handling of floating-point not-a-number values, and more.

Forgejo 9.0 released

✇LWN
Par : corbet
Version 9.0 of the Forgejo software forge system has been released. Changes include a switch to the GPLv3 license, the beginning of a quota system, the removal of go-git support, and a lot of fixes. (LWN looked at Forgejo in February).
❌