Welcome to LWN.net
LWN.net is a reader-supported news site dedicated to producing the best coverage from within the Linux and free software development communities. See the LWN FAQ for more information, and please consider subscribing to gain full access and support our activities.
[$] Julia v1.10: Performance, a new parser, and more
The new year arrived bearing a new version of Julia, a general-purpose, open-source programming language with a focus on high-performance scientific computing. Some of Julia's unusual features are Lisp-inspired metaprogramming, the ability to examine compiled representations of code in the REPL or in a "reactive notebook", an advanced type and dispatch system, and a sophisticated, built-in package manager. Version 1.10 brings big increases in speed and developer convenience, especially improvements in code precompilation and loading times. It also features a new parser written in Julia.
[$] Rust and C filesystem APIs
As the Rust-for-Linux project advances, the kernel is gradually accumulating abstraction layers that enable Rust code to interface with the existing C code. As the discussion around the set of filesystem abstractions posted by Wedson Almeida Filho in December shows, though, there is some tension between two approaches to the design of those abstractions. The approach favored by most of the kernel's C programmers looks set to win out, but this is a discussion that is likely to return as the use of Rust in the kernel grows.
[$] The first half of the 6.8 merge window
The 6.8 merge window has gotten off to a relatively slow start; reasons for that include a significant scheduler performance regression that Linus Torvalds stumbled into and has spent time tracking down. Even so, 4,282 non-merge changesets have found their way into the mainline repository for the 6.8 release as of this writing. These commits have brought a number of significant changes and new features.
[$] The kernel "closure" API
The data structure known as a "closure" first found its way into the mainline kernel with the addition of bcache in the 3.10 development cycle. With the advent of bcachefs in 6.7, though, it acquired a second user and was moved to the kernel's lib directory, making it available to other kernel users as well. The documentation of closures in the source is better than that of many things in the kernel, but there is still room for a gentler introduction.
[$] LWN.net Weekly Edition for January 11, 2024
Posted Jan 11, 2024 0:16 UTC (Thu)The LWN.net Weekly Edition for January 11, 2024 is available.
Inside this week's LWN.net Weekly Edition
- Front: Org Mode; CVE-2012-5639; Kernel-text replication; None-aware operators; 6.7 Development statistics.
- Briefs: Linux 6.7; Regression tracking; OpenWrt One; Solus 4.5; Python JIT; Vcc; Niklaus Wirth RIP; Quotes; ...
- Announcements: Newsletters, conferences, security updates, patches, and more.
[$] Notes on Emacs Org mode
As part of my quest to master Emacs, which is sort of a sub-quest on the way toward learning more about Lisp, I have spent a fair amount of time discovering various corners of the Emacs world. One of those is the famous "Org mode" that is used for a wide variety of organizational tasks within the editor—and not just Emacs, but for Vim and others too. Org mode can be used for to-do lists, notes with interconnections between them, literate programming, web sites, and more. Now my quests are growing quests of their own and digging into Org mode is one of those.
[$] The odd saga of CVE-2012-5639
A new release for any project with a fix for a 12-year old CVE is going to stand out pretty obviously; a recent release has a fix of that nature, but the trail of CVE-2012-5639 is rather elusive. The Apache OpenOffice project made its 4.1.15 release with fixes for four CVEs, including one for CVE-2012-5639 ("Loading internal / external resources without warning"), on December 22. But nearly everything about that CVE seems rather murky, and it is difficult to get a clear picture of what, exactly, was done in OpenOffice to address the problem.
[$] Some 6.7 development statistics
The 6.7 kernel was released on January 7 after a ten-week development cycle. This was, as it turns out, the busiest cycle ever with regard to the number of changesets merged. The time has come for our usual look at where all those changesets came from, with a side trip into how long kernel developers tend to stick around.
[$] Kernel-text replication on NUMA systems
Kernel developers often go out of their way to reduce the memory used by the kernel itself; that memory is not available for the workloads that people are actually interested in running on their systems. Lower memory usage also tends to lead to better performance overall. But there are times when the expenditure of some extra memory can make the system faster. The replication of the kernel's text (executable code) and read-only data across a NUMA system may be a case in point; patch sets have been posted adding that capability to two architectures.
[$] The return of None-aware operators for Python
The saga of the None-aware (or null-coalescing) operators for Python continues. We last looked in on the topic a little over a year ago and noted that either adoption or a clear rejection of the idea might help tamp down its regular recurrence. That has not happened, so, predictably, it was raised again—and does not look any closer to resolution this time around.
Wine 9.0 released
Version
9.0 of the Wine Windows-compatibility system has been released.
"This release represents a year of development effort and over 7,000
individual changes. It contains a large number of improvements that are
listed below. The main highlights are the new WoW64 architecture and the
experimental Wayland driver.
"
A glitch in the merge window
On January 13, Linus Torvalds let it be known that he had lost power due to the bad weather in the US Pacific Northwest. As of this writing, he has not yet resurfaced, so the 6.8 merge window has ground to a halt.
There's apparently about 100k people without power, and I doubt our neighborhood is the priority, so I expect to be without power for some time still. I hope I'm wrong, but a few years ago it took more than a week to restore power due to all the downed trees. It's hopefully nowhere near that, but..
Security updates for Tuesday
Security updates have been issued by Gentoo (KTextEditor, libspf2, libuv, and Nettle), Mageia (hplip), Oracle (container-tools:4.0, gnutls, idm:DL1, squid, squid34, and virt:ol, virt-devel:rhel), Red Hat (.NET 6.0, krb5, python3, rsync, and sqlite), SUSE (chromium, perl-Spreadsheet-ParseXLSX, postgresql, postgresql15, postgresql16, and rubygem-actionpack-5_1), and Ubuntu (binutils, libspf2, libssh2, mysql-5.7, w3m, webkit2gtk, and xerces-c).
A new crop of stable kernels
The 6.6.12, 6.1.73, 5.15.147, 5.10.208, 5.4.267, and 4.19.305 stable kernels have been released. They contain a relatively small number of important fixes.
OpenSUSE Leap 16 is coming
The openSUSE project has confirmed that there will be a successor to openSUSE Leap 15, but is not sharing a lot of details at this point.
The transition to Leap 16 is not just a numerical step-up but symbolizes a significant path forward in technology and user experiences. The future of openSUSE Leap is based on the innovative concept of SUSE’s Adaptable Linux Platform.The Adaptable Linux Platform powers the next-generation openSUSE Leap, Leap Micro, and SUSE solutions. It makes distributions more adaptable and suitable for cloud-native workloads while also being capable of handling a rapid pace of innovation.
Stawinski: How We Executed a Critical Supply Chain Attack on PyTorch
John Stawinski IV describes, in detail, how he and a partner were able to compromise the security of the heavily used PyTorch project.
Our exploit path resulted in the ability to upload malicious PyTorch releases to GitHub, upload releases to AWS, potentially add code to the main repository branch, backdoor PyTorch dependencies – the list goes on. In short, it was bad. Quite bad.As we’ve seen before with SolarWinds, Ledger, and others, supply chain attacks like this are killer from an attacker’s perspective. With this level of access, any respectable nation-state would have several paths to a PyTorch supply chain compromise.
Security updates for Monday
Security updates have been issued by CentOS (bind, cups, curl, firefox, ipa, iperf3, java-1.8.0-openjdk, java-11-openjdk, kernel, libssh2, linux-firmware, open-vm-tools, openssh, postgresql, python, python3, squid, thunderbird, tigervnc, and xorg-x11-server), Fedora (chromium, python-flask-security-too, and tkimg), Gentoo (libgit2, Opera, QPDF, and zlib), Mageia (chromium-browser-stable, gnutls, openssh, packages, and vlc), Oracle (.NET 6.0, fence-agents, frr, ipa, kernel, nss, pixman, and tomcat), and SUSE (gstreamer-plugins-bad).
Stable kernel 5.10.207
The 5.10.207 stable kernel update has been released; it consists entirely of a handful of reverts of SCSI patches.
Linux Mint 21.3 "Virginia" released
The Linux Mint distribution has announced the release of Linux Mint 21.3, which is codenamed "Virginia". It has the Cinnamon 6.0 desktop, "comes with full support for SecureBoot and compatibility with a wider variety of BIOS and EFI implementation
", has added new features to the Hypnotix TV-viewer application, and more. See the release notes for even more information about it.
Information on the SourceHut outage
Users of SourceHut will have noticed that the site has been unreachable; Drew DeVault has now posted a report on what is happening (it's a distributed denial-of-service attack) and what is being done to recover.
We deal with ordinary DDoS attacks in the normal course of operations, and we are generally able to mitigate them on our end. However, this is not an ordinary DDoS attack; the attacker posesses considerable resources and is operating at a scale beyond that which we have the means to mitigate ourselves. In response, before we could do much ourselves to understand or mitigate the problem, our upstream network provider null routed SourceHut entirely, rendering both the internet at large, and SourceHut staff, unable to reach our servers.
