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 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.
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.
For those of you still using DSA keys with SSH: the project has announced
its plans to remove support for that algorithm around the beginning of
2025.
The only remaining use of DSA at this point should be deeply legacy
devices. As such, we no longer consider the costs of maintaining
DSA in OpenSSH to be justified. Moreover, we hope that OpenSSH’s
final removal of this insecure algorithm accelerates its
deprecation in other SSH implementations and allows maintainers of
cryptography libraries to remove it too.
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.
The 4.14.336 stable kernel update has been
released with a small handful of fixes; this is the end of the line for the
4.14 stable series:
This is the LAST 4.14.y kernel to be released. It is now
officially end-of-life. Do NOT use this kernel version anymore,
please move to a newer one, as shown on the kernel.org releases
page.
All users of the 4.14 kernel series must upgrade. But then, move
to a newer release. If you are stuck at this version due to a
vendor requiring it, go get support from that vendor for this
obsolete kernel tree, as that is what you are paying them for 🙂
Update: 6.6.11 and 6.1.72 have also now been released.
The 4.14.336 stable kernel update has been
released with a small handful of fixes; this is the end of the line for the
4.14 stable series:
This is the LAST 4.14.y kernel to be released. It is now
officially end-of-life. Do NOT use this kernel version anymore,
please move to a newer one, as shown on the kernel.org releases
page.
All users of the 4.14 kernel series must upgrade. But then, move
to a newer release. If you are stuck at this version due to a
vendor requiring it, go get support from that vendor for this
obsolete kernel tree, as that is what you are paying them for 🙂
Security updates have been issued by Fedora (libssh), Gentoo (FAAD2 and RedCloth), Red Hat (kpatch-patch and nss), SUSE (hawk2, LibreOffice, opera, and tar), and Ubuntu (glibc, golang-1.13, golang-1.16, linux-azure, linux-gkeop, monit, and postgresql-9.5).
It’s exactly what the name implies: a clang-based compiler that
outputs code that runs on Vulkan.
Vcc can be thought of as a GLSL and HLSL competitor, but the true
intent of this project is to retire the concept of shading
languages entirely. Unlike existing shading languages, Vcc makes a
honest attempt to bring the entire C/C++ language family to Vulkan,
which means implementing a number of previously unseen features in
Vulkan shaders
OpenWrt developer John Crispin says:
“In 2024 the OpenWrt project turns 20 years! Let’s celebrate this
anniversary by launching our own first and fully upstream supported
hardware design.” The rest of the message describes the proposed
OpenWrt-native network-routing system, based Banana Pi boards; the project is
being organized through the Software Freedom Conservancy. (Thanks to Dave
Täht).
Thorsten Leemhuis writes
about his plans for improving the kernel’s regression handling in the
coming year.
Top-priority will be “make regzbot more useful for kernel subsystem
maintainers” from now on. My tracking efforts of course will
continue, but everything except regressions in the current and the
previous mainline cycle might not see much attention from my
side. This refocusing also means that I won’t work much on
resolving some ambiguities around “how regressions are supposed to
be handled” which lead to tension quite a few times. But all that
should be for the best in the long term.
Copy-and-patch was selected because the compilation from bytecodes
to machine code is done as a set of “templates” that are then
stitched together and patched at runtime with the correct
values. This means that your average Python user isn’t running this
complex JIT compiler architecture inside their Python
runtime. Python writing it’s own IL and JIT would also be
unreasonable since so many are available off-the-shelf like LLVMs
and ryuJIT. But a full-JIT would require those being bundled with
Python and all the added overheads. A copy-and-patch JIT only
requires the LLVM JIT tools be installed on the machine where
CPython is compiled from source, and for most people that means the
machines of the CI that builds and packages CPython for python.org.
Version 4.5
(“Resilience”) of the Solus distribution has been released. “This
release brings updated applications and kernels, refreshed software stacks,
a new installer, and a new ISO edition featuring the XFCE desktop
environment.”
Security updates have been issued by Debian (squid), Fedora (podman), Mageia (dropbear), SUSE (eclipse-jgit, jsch, gcc13, helm3, opusfile, qt6-base, thunderbird, and wireshark), and Ubuntu (clamav, libclamunrar, and qemu).
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.
End result: 6.7 is (in number of commits: over 17k non-merge
commits, with 1k+ merges) one of the largest kernel releases we’ve
ever had, but the extra rc8 week was purely due to timing with the
holidays, not about any difficulties with the larger release.
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.
Wirth is well-remembered for his pioneering work in programming
languages and algorithms. For these achievements, he received the
ACM Turing Award in 1984, inducted as a Fellow of the ACM in 1994,
and a Fellow of the Computer History Museum in 2004.
They include, among many, being chief designer for the programming
languages Euler (1965), PL360 (1966), ALGOL W (1968), Pascal
(1970), Modula (1975), Modula-2 (1978), Oberon (1987), Oberon-2
(1991), and Oberon-07 (2007).
The collective thoughts of the interwebz
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.