A change
proposal to end support for 32-bit x86 (i686) applications on the
x86_64 architecture with the Fedora 44 release has been withdrawn
after significant pushback. As proposed, the change could have
had a significant impact on gamers, compiler development, and the Bazzite project, which uses Fedora as a
base for a gaming-focused distribution. While i686 gets a reprieve for
now, the question still lingers: who is going to keep the necessary
i686 packages in working order when few upstream maintainers or
volunteer packagers care about the architecture?
Security updates have been issued by AlmaLinux (mod_proxy_cluster), Debian (catdoc, chromium, nagvis, and sudo), Fedora (chromium, gum, kubernetes1.32, moodle, podman, python3-docs, python3.13, salt, and tigervnc), Mageia (x11-server, x11-server-xwayland & tigervnc), Oracle (apache-commons-beanutils, exiv2, expat, firefox, git, git-lfs, gstreamer1-plugins-bad-free, ipa, java-21-openjdk, kea, kernel, libarchive, libblockdev, libsoup3, libvpx, libxslt, mod_auth_openidc, nodejs22, osbuild-composer, perl, perl-File-Find-Rule, php, python-jinja2, python-tornado, sqlite, thunderbird, valkey, varnish, weldr-client, xorg-x11-server-Xwayland, xz, and yggdrasil), Red Hat (apache-commons-beanutils, javapackages-tools:201801, kernel, and python3.11), SUSE (apache-commons-fileupload, gimp, glib2, himmelblau, nvidia-open-driver-G06-signed, sqlite3, thunderbird, yelp, and yelp-xsl), and Ubuntu (samba).
In 2023, Fujita Tomonori
wrote a Rust version of the existing driver for the
Asix AX88796B embedded Ethernet controller. At slightly more than 100 lines,
it's about as simple as a driver can be, and therefore is a useful touchstone for
the differences between writing Rust and C in the kernel. Looking at the Rust
syntax, types, and APIs used by the driver and contrasting them with the C
version will help illustrate those differences.
The history of the bcachefs filesystem in the kernel has been turbulent,
most recently with Linus Torvalds refusing
a pull request for the 6.16-rc3 release. Torvalds has now pulled
the code in question, but also said:
I think we'll be
parting ways in the 6.17 merge window.
You made it very clear that I can't even question any bug-fixes and
I should just pull anything and everything.
Honestly, at that point, I don't really feel comfortable being
involved at all, and the only thing we both seemed to really
fundamentally agree on in that discussion was "we're done".
Bcachefs developer Kent Overstreet has
his own view of the situation. Both Torvalds and Overstreet
refer to a seemingly private conversation where the pull request (and other
topics) were discussed.
Security updates have been issued by Debian (freeradius and icu), Fedora (clamav, glow, libssh, perl-Crypt-OpenSSL-RSA, perl-CryptX, podman, trafficserver, and xorg-x11-server), Mageia (gdk-pixbuf2.0 and thunderbird), Red Hat (osbuild-composer and weldr-client), SUSE (afterburn, google-osconfig-agent, libblockdev, pam, python-tornado6, screen, and yelp-xsl), and Ubuntu (libxslt and python-pip).
Version
1.88.0 of the Rust language has been released. Changes include the
ability to chain
let expressions, "naked" functions that have no
compiler-generated prologue or epilogue, automatic garbage collection in
cargo, a set of stabilized APIs, and more.
Version
10 of the Oracle Linux distribution has been released.
Oracle Linux 10 is now generally available for 64-bit Intel and AMD
(x86_64) and 64-bit Arm (aarch64) platforms. Oracle Linux 10
delivers robust security and exceptional performance for business
agility and demanding workloads at cloud scale. Key features
include modernized cryptographic capabilities, advancements in
developer tooling, and innovations for resilient infrastructure.
Over on the Collabora blog, Tathagata Roy has an
update
on the progress of targeting the
Coccinelle tool
for matching and transforming source code to Rust. The
Coccinelle for Rust
project, which we
covered in a 2024
talk by Roy at
Kangrejos, is adding
the ability to transform Rust programs and the goal is "
to bring
Coccinelle For Rust at par with Coccinelle For C in terms of basic
functionalities
". There is still work to be done to get there, but
progress is being made in various areas.
Computational Tree Logic (CTL) is the heart of Coccinelle, which takes semantic patches and generalizes them over Rust files. Prior to using this engine, CfR used an ad-hoc method for matching patterns of code. This engine is the same as the one used for Coccinelle for C, with a few minor changes. Most of the changes were idiomatic but to the same effect. More information on the engine and its language (CTL-VW) can be found in the POPL Paper. With a standard engine, each step of the matching process can be logged, allowing us to learn and reuse the same design patterns from Coccinelle for C, including critical test cases.