|
|
Log in / Subscribe / Register

LWN.net Weekly Edition for November 20, 2025

Welcome to the LWN.net Weekly Edition for November 20, 2025

This edition contains the following feature content:

This week's edition also includes these inner pages:

  • Brief items: Brief news items from throughout the community.
  • Announcements: Newsletters, conferences, security updates, patches, and more.

Note that November 27 is the Thanksgiving holiday in the United States. As is our tradition, there will be no LWN Weekly Edition that day; we will be too busy eating to put one together. However, we will keep the lights on over the break and post the occasional article. We will be back to normal service with the December 4 Edition.

Please enjoy this week's edition, and, as always, thank you for supporting LWN.net.

Comments (none posted)

The current state of Linux architecture support

By Daroc Alden
November 18, 2025

There have been several recent announcements about Linux distributions changing the list of architectures they support, or adjusting how they build binaries for some versions of those architectures. Ubuntu introduced architecture variants, Fedora considered dropping support for i686 but reversed course after some pushback, and Debian developers have discussed raising its architecture baseline for the upcoming Debian 14 ("forky"). Linux supports a large number of architectures, and it's not always clear where or by whom they are used. With increasing concerns about diminishing support for legacy architectures, it's a good time to look at the overall state of architecture support on Linux.

Not counted: The designers of Elbrus 2000 CPUs, Tachyum Prodigy CPUs, Kalray KVX CPUs, and Shenwei SW64 CPUs maintain their own non-upstream kernel ports with support for their own architectures.

The 6.17 kernel supports 21 different architectures (perhaps soon to be 22, thanks to the recent WebAssembly port), but making that statement already requires going into a bit more detail on what counts as an architecture. For example, Linux supports the User Mode Linux "architecture", which lets the kernel run as an unprivileged process inside an existing kernel for testing purposes. By most normal definitions, User Mode Linux isn't really a CPU architecture, even if the code for it lives alongside the kernel's other architecture support code. On the other hand, the kernel considers all PowerPC CPUs to be one architecture, regardless of whether they're running in big-endian or little-endian mode; most distributions count those as two architectures because software compiled for different endiannesses must be packaged separately. Even without architecture-wide incompatibilities like that, several architectures also offer different "levels" or optional extensions that make describing a piece of software's requirements a bit difficult. RISC-V has, at the time of writing, 48 different standards adding a larger number of extensions.

Still, the kernel's list of supported architectures is the closest thing to a definitive list of what counts as an architecture in the Linux world. Using that as a baseline, I checked the status of support in several popular distributions. The most restrictive is Arch, which only supports x86_64. Close behind is Fedora, which only has two main architectures and three secondary ones. Debian supports the second-most architectures, with six or seven officially supported architectures and something like 11 unofficial ones, depending on how one counts. Gentoo offers official installers for 13 architectures. Ubuntu is somewhere in between, with five official architectures and a vague suggestion that it may work on Debian's unofficial architectures as well.

The distinction between official and unofficial support is a bit fuzzy. In practice, a lot of software packaged by the different distributions will compile fine on unsupported architectures, provided an appropriate compiler is available. In Debian's case, official support means that it is part of the official release, it has been tested, and it will receive security updates. Unofficial architectures may be released on a delayed schedule, may have to deal with breaking changes, and might be dropped in between major versions if there are no volunteers to keep things working. For Fedora, a primary architecture is one where build failures on Koji, Fedora's package build farm, block the release process. Secondary architectures might also cause build failures on Koji, or might have their own separate package-build infrastructure, but failures don't stop the release.

Rust, which has been cited as a cause for concern around ensuring continuing support for old architectures, supports 14 of the kernel's 20-ish architectures, the exceptions being Alpha, Nios II, OpenRISC, PARISC, and SuperH. The discussion around Rust's architecture support was recently reinvigorated by the fact that Debian's APT packaging tool will require Rust after May 2026. The project offers different tiers of support for various architectures, ranging from tier one (continuously tested and has official releases), through tier two (builds but does not have dedicated tests), to tier three (code is present to handle it, but support isn't being tested automatically).

A well-formatted table is worth a thousand words, so here is one summarizing the current state of architecture support on Linux:

Architecture Commercially available In kernel since Minimum supported in kernel Debian Ubuntu Fedora Rust
Alpha 1992-2007 1994 EV56+ Unofficial - - -
ARC 1996- 2013 ARC600 - - - -
Arm (32-bit) 1985- 1998 ARMv4 ARMv5 (forky increases this to ARMv7-A+VFPv3D16) - - Tier 2
Arm (64-bit) 2011- 2012 ARMv8-A+ Official Official Official Tier 1
C-SKY 2017- 2018 v1 - - - v2+, Tier 3
Hexagon 2006- 2011 V2+ - - - Tier 3
LoongArch 2021- 2022 N/A Unofficial - - Tier 2
m68k 1979- 1996 68000+ Unofficial* - - Tier 3
MicroBlaze 2002- 2009 v3.00.a+ - - - -
MIPS 1985- 1995 mips1+ - - - Tier 3
Nios II 2000-2023 2014 r1+ - - - -
OpenRISC 2000- 2011 OR1k - - - -
PA-RISC 1986-2008 2000 1.1+ Unofficial [edited] - - -
PowerPC (32-bit) 1992-2021 1995 ppc8xx, ppc603, or better Unofficial, big-endian - - Tier 2
PowerPC (64-bit) 1997- 2002 powerpc970+ Little-endian, officially; big-endian unofficially; version 8 or newer (proposed to raise to 9) - Little-endian; version 8 or newer Tier 2
RISC-V 2014- 2017 It's complicated Official Official Official Tier 2
s390 1965- 2000 z10+ Official (z196; proposed to raise to z15) Official Official Tier 2
SPARC 1986- 1994 v8+ Unofficial - - Tier 2
SuperH 1992-2025 1999 SH-2 (with no MMU) or SH-3 (with a MMU) Unofficial - - -
x86 (32-bit) 1985- 1991 i486+ User-space only (i686+) User-space only User-space only Tier 1
x86_64 2003- 2003 All Official (raising baseline to v2 proposed) Official (both v2 and v3) Supported (all versions) Tier 1
Xtensa 1999- 2005 N/A - - - Tier 3

Looking at this table, a few things are immediately clear. For one, the Debian project is doing a lot of work to ensure older CPUs remain usable. For another, the only architectures that are supported by Debian but not Rust are Alpha (for which no new CPUs have been produced since 2007), and SuperH. It might be tempting to assume that this means concerns about Rust compatibility are overblown, but it would be more accurate to say that people working with unpopular CPU architectures are probably not using mainstream Linux distributions.

In Arnd Bergman's OSS EU talk this year, he said that some of these architectures, primarily 32-bit Arm, are being kept alive for embedded development. New hardware is still being produced with 32-bit Arm CPUs, so he expects the kernel to support that configuration for at least ten years. The kernel still supports over a dozen 32-bit architectures that are used in older embedded systems, but their 64-bit replacement designs have almost exclusively moved to Arm and RISC-V, he said.

The Linux kernel's support for many architectures is both a strength — allowing it to be deployed in a huge number of possible use cases — and a source of complexity for maintainers. The kernel's memory-management code is particularly prone to architecture-induced special cases. For now, the kernel supports many more architectures than the mainstream distributions that depend on it do. If embedded uses continue to adopt RISC-V, however, that might not be the case in another few decades.

Appendix: Architecture information

RISC-V, SPARC, PowerPC64, and OpenRISC all have actively used open hardware implementations. ARMv2, MIPS II, SH-2, and i486 have also had projects to implement open designs, but these do not appear to be in active use.

Many of the architectures listed above were unfamiliar to me, so it was hard to imagine who might be using them. Below are brief descriptions of each architecture supported by the kernel, for context.

Alpha

Supported by: Debian (unofficially).

Introduced by DEC in 1992, Alpha is a 64-bit RISC architecture. The underlying intellectual property was sold to Compaq in 1998, which didn't do much with it until Hewlett-Packard purchased the company in 2002. The last Alpha-based systems were sold in 2007.

The kernel has supported Alpha since version 1.1.67 in 1994, making it the first non-x86 port. Alpha support is still kept up to date by Richard Henderson and Matt Turner. Debian officially supported Alpha between versions 2.1 and 5.0, and the port is still maintained unofficially.

ARC

Arc processors were first introduced in 1996, although support only reached the kernel in 2013. The kernel only supports 32-bit ARC CPUs; 64-bit support has not made it upstream so far. Work is continuing, though. The primary manufacturer of ARC CPUs, Synopsys, has largely pivoted to RISC-V designs, but ARC CPUs are still available. Support in the kernel is maintained by Vineet Gupta.

Arm

Supported by: Debian, Ubuntu, Fedora.

Arm is a considerably older architecture, dating from 1985. Despite its age, it has continued evolving and specifying different compatibility levels. Debian and Ubuntu both only support it when the CPU has built-in hardware for processing floating point numbers, but, as that is the typical configuration for Arm CPUs outside of embedded development, that doesn't pose any great hardship.

The kernel has supported Arm CPUs since version 2.1.80 in 1998, but the CPU version required has increased over time. Debian currently requires at least "armv7-a+fp": version 7-A, with floating point support. The kernel theoretically still compiles with GCC version 8, which in turns supports Arm version 2, but the kernel has deprecated anything earlier than Arm version 4. That release added support for half-word loads and stores, and removed support for 26-bit addressing.

C-SKY

C-SKY v1 CPUs are compatible with Motorola M·CORE, which have been available since 1997, but the first C-SKY-branded CPUs were released in 2017. C-SKY is the second most recent architecture added to the kernel. It was introduced in 2018, in version 4.20. At the time, Bergman said that it might well be the last architecture ever added to the kernel, since newer designs seem to be focusing on RISC-V, which the kernel already supports. That prediction did not prove to be correct, however, with LoongArch being added to the kernel in 2022. C-SKY is a 32-bit architecture that is not much used outside of China, where it is produced by a company of the same name.

Hexagon

Unlike the other architectures in this list, Hexagon is the architecture of a family of digital signal processors from Qualcomm. First introduced in 2006, support was added to the kernel in 2011, where it is maintained by Brian Cain. Hexagon is notable for having a number of features dedicated to hardware-assisted parallelism.

LoongArch

Supported by: Debian (unofficially).

LoongArch is the newest architecture supported by the kernel, arriving in 2022. It is a RISC architecture quite similar to MIPS, although newer architecture revisions have been adding more custom instructions. The company that created it, Loongson, uses it in high-performance, multi-core servers; its previous lower-power CPUs used MIPS. Kernel support is maintained by Huacai Chen.

m68k

Supported by: Debian (unofficially).

Motorola 68000, usually abbreviated m68k, is a big-endian 16- or 32-bit architecture originally released in 1979. It was discontinued in 1996 — ironically, the same year that support first appeared in the kernel, in version 1.3.94. It is maintained in the kernel by Geert Uytterhoeven. The unofficial Debian port runs on the original m68k CPUs, but not the newer coldfire CPUs.

This architecture is notable for powering several early home computers and portable computing devices, including early Apple Macintoshes, Commodore Amigas, the Atari ST, the Sega Genesis, the AT&T UNIX PC, the NeXTstation, TI-89 calculators, and the Palm Pilot. Because of its extremely wide use, m68k is likely to continue being supported, one way or another, by folks passionate about that era of hardware.

MicroBlaze

MicroBlaze is a CPU core design intended for embedding in a field-programmable gate array. It was introduced in 2002, with support coming to the kernel in 2009. Support in the kernel is maintained by Michal Simek. The kernel has, so far, supported only the 32-bit version of the CPU. 64-bit support exists out-of-tree, but is unlikely to be merged in the future because the company behind MicroBlaze, Xilinx, has moved on to RISC-V designs.

MIPS

MIPS was released in 1985. Since then, it has received regular updates, the most recent of which was version 6 in 2014. Linux has supported it since version 1.1.82 in 1995. Even though the architecture is regularly updated (and the oldest processors for it have fallen out of their patent period), no major Linux distribution maintains a port. The overall maintainer for MIPS in the kernel is Thomas Bogendoerfer, but there are a large number of other maintainers who work on specific chips, drivers, and other components of MIPS support.

Nios II

A 32-bit RISC CPU intended for embedded use in field-programmable gate arrays (FPGAs), Nios II has been supported in the kernel since 2014, where it is maintained by Dinh Nguyen. Intel deprecated the design in 2023 in favor of a RISC-V-based successor. Nios II is interesting because it was implemented entirely in programmable logic, meaning that the CPU could be extended with custom instructions or peripherals that were programmed directly into the same FPGA.

OpenRISC

OpenRISC is a project to develop an open-source CPU; the design of the OpenRISC 1000 CPU is available under a GPL license. It was introduced in 2000, with support in the kernel introduced in 2011. It is maintained by Jonas Bonn, Stefan Kristiansson, and Stafford Horne. The OpenRISC web site has links to three different processor implementations and several simulators that can be used to try out OpenRISC code.

PA-RISC

Supported by: Debian (unofficially).

Also known as HPPA, PA-RISC was released in 1986 as a way for HP to consolidate its different computer offerings on the same CPU design. That sort of happened, although HP continued offering some products based on other designs. Support was added to the kernel in 2000, where it is maintained by James Bottomley and Helge Deller.

PowerPC

Supported by: Debian, Ubuntu, and Fedora.

PowerPC is another architecture that supports running in big-endian or little-endian mode; unlike Alpha, SPARC, or MIPS, however, there is good support for actually running Linux on it in either endianness configuration. The architecture was introduced in 1992, and supported in the kernel since version 1.3.45 in 1995, although that support has moved around between a few different architecture names over time. PowerPC code has gone by "ppc", "ppc64", and "powerpc" at various points in the kernel's history (currently the latter). Presently, support for the architecture is maintained by Madhavan Srinivasan and Michael Ellerman.

Debian supports little-endian 64-bit PowerPC officially, and has two different unofficial ports for 32-bit big-endian PowerPC and 64-bit big-endian PowerPC. The official port seems to require version 8 (released in 2014) or newer hardware, although there is a proposal to increase that to version 9 (released in 2017) for the next Debian release, since Debian's build fleet is all version 9. Ubuntu has official support for both the big-endian and little-endian 64-bit variants, interestingly. That makes big-endian 64-bit PowerPC the only architecture that Ubuntu supports officially that Debian does not. Fedora restricts itself to supporting little-endian 64-bit PowerPC.

RISC-V

Supported by: Debian, Ubuntu, and Fedora.

RISC-V is an interesting architecture because, while it has taken some time to get going, there are a large number of implementations with different targeted use cases in development at the moment. It's also notable for having a large number of optional extensions that can be implemented independently. On the one hand, this makes it possible for the same architecture to scale from low-power embedded cores to high-performance server CPUs. On the other hand, it makes testing software more difficult. Since the extensions can be implemented independently, there isn't a simple way to agree on a baseline for support beyond just listing extensions. Kernel support was added in 2017, and is maintained by Paul Walmsley, Palmer Dabbelt, and Albert Ou.

s390

Supported by: Debian, Ubuntu, and Fedora.

IBM's System/390 mainframes, with their custom microprocessors, are surprisingly well-supported by modern Linux. The base design of the architecture dates from the s/360 in 1965, but the first mainframes theoretically capable of running Linux were introduced in 1990. Those mainframes transitioned to a new 64-bit architecture with a different name in 2000, the same year that support was introduced to the kernel in version 2.3.99pre8. Despite the new architecture officially being "z/Architecture", most references call it s390x.

The architecture has continued receiving updates, and Ubuntu requires the relatively recent z15 version, released in 2019. Debian has proposed updating to the same baseline, although the build infrastructure is actually composed entirely of z16 processors. Fedora theoretically supports anything after z13, although the project's documentation on the topic has not been updated in some time.

SPARC

Supported by: Debian (unofficially).

SPARC is an architecture introduced in 1986. Support in the kernel was added in version 1.1.71 in 1994, and is maintained today by David Miller and Andreas Larsson. Debian unofficially supports 64-bit SPARC, but no distribution still supports 32-bit SPARC. A new open-source design for SPARC cores, LEON5, was released in 2019. The kernel supports v8, but that version lacks proper atomics, which can lead to problems. A more practical lower limit would be v8e or v9.

SuperH

Supported by: Debian (unofficially).

SuperH is a 32-bit architecture originally produced by Hitachi and later sold to Renesas. It's notable for being entirely out from under its design patents, which has allowed the architecture to be reverse engineered and reimplemented. Official support from Renesas ended in 2025, so those reimplementations are the only source of new SuperH CPUs.

x86

Supported by: Debian, Ubuntu, Arch, and Fedora.

Released in 1978, and then incrementally updated to larger word sizes in 1985 and 2003, x86 is an extremely popular architecture. It is little-endian, still under active development, and has been supported in the kernel since the beginning. Despite that, the support story is actually not as straightforward as it might appear. Since x86 has evolved over time, there are differences between support for the 32-bit version and the 64-bit version. Debian supports a full 32-bit installation on CPUs newer than i486Debian supports a 32-bit userspace in some circumstances, but has stopped shipping 32-bit kernels. Ubuntu only supports some 32-bit binaries running in a 64-bit installation. Other distributions are all-in on 64-bit, but still have different baseline architecture versions.

Ubuntu recently announced that the project, while continuing to support older versions, would compile separate versions of all packages for x86-64-v3, dating from 2013. Fedora and Arch both support any 64-bit-capable CPU, regardless of version.

Xtensa

Finally, Xtensa is yet another 32-bit RISC architecture. It's specifically designed for extension, with the possibility of configuring many CPU features and adding custom instructions. It is mostly used in digital signal processors.

[ Thanks to Bergman for his help in fact-checking this article. ]

Comments (65 posted)

Debian debates amending architecture support stratagem

By Daroc Alden
November 19, 2025

The Linux kernel supports a large number of architectures. Not all of those are supported by Linux distributions, but Debian does support many of them, officially or unofficially. On October 26, Bastian Blank opened a discussion about the minimum version of these architectures that Debian should support: in particular, raising the de-facto minimum versions in the next Debian release ("forky"). Thread participants were generally in favor of keeping support for older architecture variants, but didn't reach a firm conclusion.

Blank noted that Debian doesn't currently have a policy for which architecture versions should be supported. Three architectures do specify a minimum version of GCC, which in turn implies some limits on architecture versions: Arm CPUs must be armv7-a+fp or newer, 32-bit x86 CPUs must be i686 or newer, and s390 CPUs must be z196 or newer. (Version z196 is followed, naturally, by z114, then by zEC12, zBC12, and z13. Since z13, IBM has continued counting with the same numbers that everyone else uses.) These architectures are all fairly old. Arm version 7 dates from 1993, with the last processors being sold in 2001. ARM7 was from 1993, but ARMv7 is from 2005, and CPUs are still being sold.

Starting in Debian 14 ("forky"), Blank proposed that 64-bit x86 CPUs should require version x86-64-v2, PowerPC CPUs should require power9, and s390x CPUs should require z15. x86-64-v2, in particular, features wider atomic compare-and-exchange operations and more single-instruction multiple-data (SIMD) instructions.

As a general guidance I would like to aim for a ten to 15 years support range at release time. The cutoff in respect to the expected 2027 release date of Forky would therefor be 2012 to 2017. More time is given for widely used architectures, less for more specialized ones."

This recommendation was seemingly motivated by matching the composition of Debian's build infrastructure, which doesn't have any PowerPC machines older than power9, or s390x machines older than z16. If Blank's proposal were adopted, the distribution could potentially drop support for older architecture versions in 2030, which would be the end of Debian 13 ("trixie") long-term support.

Marco d'Itri thought that retiring architecture variants after 15 years from release was reasonable: "Debian's purpose is not to enable retrocomputing projects." That didn't sit will with all members of the list, however. Jan-Daniel Kaplanski objected, noting that the ability to use Debian with a wide variety of hardware was one of the appealing properties of the distribution. Even if a 15-year rule were adopted, however, it should be from the last year the CPU was available to buy: PowerPC version 8 CPUs were still sold last year, he said. Kaplanski would want them supported through 2039. Romain Dolbeau didn't think that was enough:

Debian is (at least up to now) the Linux distribution one could rely on to support hardware as long as its actual life without forcing users to upgrade. I have ~2007 (Penryn) systems still in use that were deployed with Debian when new, and I'm sure I'm not the only one. If it ain't broke, don't fix it, just upgrade Debian :-)

Marc Haber pointed out that Debian depends on kernel and toolchain support for its different architectures; he then clarified that his concern was about upstream support timelines. If the kernel or the toolchain did drop support for an older version of an architecture, it might do so with relatively little notice compared to Debian's long-term support timelines. He thought that Blank had a point in wanting to establish a policy years in advance of any potential deprecation, so that people could plan around it. Diederik de Haas opined that the kernel would not drop support without an announcement far in advance, and said that all of the concerns that had been raised in favor of Blank's proposal so far were hypothetical.

Simon Richter thought that the decision should be based on potential performance improvements, not just how old an architecture is. SIMD instructions (and other specialized instructions) can be noticeably faster for some programs, although they don't help with programs that spend most of their time waiting on I/O. He also suggested that it would be nice to have a way to automatically migrate users to an unofficial Debian port if the official releases raise their minimum supported versions.

John Klos asked why any change was needed — if it was intended to reduce the amount of work for Debian maintainers, what specific work would be avoided? Peter Green replied that architecture improvements sometimes "eliminate a significant source of bullshit", and gave the example of moving from x87 to sse2 floating point instructions on x86_64. On the other hand, he didn't think that Blank's proposed updates really gained that much: the newer versions that the proposal would mandate don't actually contain significant architectural changes.

Ultimately, the discussion did not result in any specific decision being made. It seems likely that Debian will maintain its current level of architecture support for forky, but in the absence of a specific policy, the debate will certainly arise again. The Linux community is, in some ways, a tug of war between different interests: some people want the maximum performance possible from their software, some people want to continue using the hardware they have available, and everyone has problems with getting enough time and energy to work on these things. How those competing interests eventually shake out — and whether people are eventually able to find a compromise position — comes down to who shows up to do the work.

Comments (95 posted)

Another Fedora Flatpak discussion

By Joe Brockmeier
November 13, 2025

Many distributions provide support out of the proverbial box for Flatpak packages, but Fedora is unusual in that it also provides, and defaults, to its own repository of Fedora-built Flatpaks. This has been a source of confusion for Fedora users, who expect to get the Flatpak built by the original developers and hosted on Flathub. It has also been a source of conflict with upstream projects, because users complain of bugs in Flatpak packages they are not responsible for. The situation has also frustrated some Fedora developers, who would prefer to put Flathub's offerings first. A new complaint that Fedora has apparently used manifests from Flathub to build the packages for Fedora—without giving credit to the original authors—has spurred discussions about Fedora's Flatpaks once again. While no concrete changes are on the table, yet, there may be some movement toward addressing persistent complaints.

Any developer or project can provide a repository with their software in Flatpak format; however, Flathub is the de facto hosting service for Flatpaks these days. Projects that publish Flatpaks expect users to get them from Flathub, and users looking for software would generally expect to get the Flathub version of a Flatpak.

However, Fedora provides its own repository and runtime for Flatpaks, and the Workstation edition ships GNOME Software configured to install Fedora Flatpaks by default—rather than Fedora's RPMs or Flathub Flatpaks—when they are available. LWN covered Fedora's Flatpak offerings and priorities in February, following a disagreement with the Open Broadcaster Software (OBS) Studio project about problems with Fedora's OBS packages.

The complaint

Every application on Flathub has a link to its manifest file: a JSON or YAML file with information on building its Flatpak. For example, the Foliate e-book reader's Flathub page links to its manifest repository on GitHub.

Fedora's most recent discussion around Flatpaks began with an accusation from Hari Rana on November 3, which claimed that Fedora is acting as a "hostile 'alternative' to Flathub":

An indeterminate amount of their packages are, in fact, directly based on existing manifests from Flathub. Not by manually inspecting code themselves; rather, by running a script that goes through Flathub's APIs and parses the respective apps' manifest to generate manifests for Fedora Flatpaks: [link]

All this, without crediting the original authors.

Flathub and Fedora use different tools to build Flatpaks, and publish them using different formats: currently, Flathub uses the OSTree format, while Fedora has switched to the Open Container Initiative (OCI) image format to ship its Flatpaks. Using the OCI format allows Fedora to host its Flatpaks along with its other container images, and means Fedora does not have to host a separate Flatpak repository. It also means that Fedora can use container tooling to build its Flatpaks. The tools for building Fedora Flatpaks do not use the manifest file; they use a container.yaml file to provide the recipe for building a container to be used for the Flatpak.

The Fedora Flatpak packaging tutorial explains that the flatpak-module tool searches Flathub for an application that matches a search term. If found, it uses that application's manifest to initialize the configuration file used by Fedora's tools. However, in doing so, it does not provide any attribution or mention of the original manifest.

The manifest file format does not contain author or licensing metadata for itself. In the case of Foliate, for example, the manifest JSON file is in its own repository under the Flathub organization. There is no license associated with the repository, and there are nine contributors to the file throughout its history. Skimming the other manifests in Flathub repositories, I have not found any that contain a license for the manifest or provide clear attribution for the manifest. Fedora's tooling could, however, simply provide a link back to the manifest that is used to generate the container.yaml file.

It is worth noting that there is a school of thought that such build instructions are not subject to copyright at all. However, many distributions—including Fedora—do assign a license to package build configuration files. LWN covered the topic of licensing control files in November 2024, when Arch Linux announced it would assign a license to its PKGBUILD files.

Discussion

The post was shared on Fedora's Discourse forum on November 4, by "Victoria". Michael Gruber replied that the responses on social media to Rana's post were by people who did not understand Fedora or Flatpaks: "But this gives Fedora as a whole bad PR. We need to do and communicate our flatpaks right." Victoria replied that Fedora should just drop its Flatpaks: "Fedora is the only distro that's feeling the need to be different."

That led to a back-and-forth discussion about the desirability of Fedora providing its own Flatpaks. Ashley Thorne said that they were glad that Fedora's repository exists, if only to provide an alternative:

I don't think Fedora should compromise on its ideals (security/philosophical) because people pressure them into doing so. At the very least, I would like to see some big security improvements (no EOL runtimes, more rules for vendored dependencies) from Flathub before it becomes "default". But I have my doubts those improvements will happen. Flathub needs to be easy with little maintenance for proprietary companies to buy-in.

Kyle Gospodnetich, creator and a maintainer of the Fedora-based Bazzite distribution, complained that Fedora's Flatpaks are "actively damaging flatpak's reputation among the Linux community and making the out-of-box experience of Fedora as painful as possible", and later referred to the dispute with the OBS project's maintainers as an example of a problem with Fedora Flatpaks. He noted that the maintainers of Fedora's Atomic Desktops had asked "multiple times to be freed from Fedora Flatpak". Most recently, Timothée Ravier put forward a change proposal for Fedora 43 that would have limited the number of Fedora Flatpaks available on the Atomic editions of Fedora. He listed a number of disadvantages to Fedora's Flatpaks, including "little maintenance and traction in the community", no procedure to remove or deprecate Fedora Flatpaks, as well as technical downsides with the OCI format used by Fedora.

In considering the proposal, Fedora Engineering Steering Committee (FESCo) member Stephen Gallagher outlined his perspective on why Fedora needed to offer its own repository. He cited a need to vet any application shipped by Fedora:

As a distributor of software, we have an obligation to our users to validate what we provide in some way. This does not necessarily mean that it has to be built directly by us, but it does mean that at some point Fedora needs to evaluate the delivery pipeline of any application we ship.

He said that there was "definitely room for improvement on both the Fedora side and the Flathub side", and was optimistic that things could be improved. He voted against the proposal, and FESCo rejected the proposal.

Flathub problems

On November 5, Fedora Project Leader (FPL) Jef Spaleta replied to the thread. He said that he had been specifically unable to talk about Flathub for about three months, "because I found a very significant copyright license violation problem with the flatpak runtimes they host" in July. Spaleta said that if he had wanted "an actively hostile relationship" with Flathub, he could have made noise about the copyright violations. Instead, "I had some quiet conversations" with people who could resolve the problem and gave them time to do so.

The problem Spaleta referred to was announced by Bartłomiej Piotrowski of the Flathub project on October 24. Copyright notices and license files were being omitted when software was being bundled as a Flatpak and distributed via Flathub. He said that the problem was "a genuine oversight", and that the project had worked with GNOME, KDE, Flatpak developers, and the freedesktop-sdk teams to "make it easier than ever for developers to ensure their applications properly include license and copyright notices".

Spaleta said that he would love nothing more than to make a case that Fedora could stop providing its own Flatpaks. However, he said that Fedora could not live with the amount of time it takes Flathub to address compliance problems. Fedora has "a higher risk profile than either Flathub or other projects that depend on it", and taking months to address copyright-compliance issues is not acceptable.

I have to have a way to address the inherent liability associated with license compliance from a distributor point of view for any flatpaks that Fedora pre-installs as part of any composed images.

Aside from license-compliance concerns, he noted that Fedora also needed its own solution because it builds Flatpaks for architectures that Flathub does not support.

Ravier replied that his change proposal for Flatpaks on Atomic desktops specifically addressed those concerns, but was rejected. Spaleta replied that he was aware of that, but the proposal had not addressed other spins and editions that might preinstall other Flatpaks that could cause Fedora liability.

Discussion

Victoria asked if Spaleta would commit to working with Flathub to resolve problems. He replied: "do you think I was looking at the internals of the flatpak runtimes for fun when I found the compliance problem?" He said that he was trying to build a bridge with Flathub to improve the relationship, and it would help if people stopped starting fires.

In that spirit, Gospodnetich asked if Fedora could change the way Flatpak itself is packaged for Fedora. Currently, the package includes a systemd service that enables Fedora's Flatpak repository. He pointed to a pull request to make the Fedora Flatpaks service an optional package. Spaleta said that he had no power to decide if the pull request would be accepted, but "it seems a reasonable adjustment to me without a lot of risk".

Spaleta said later that he had discussed the original complaint about uncredited use of Flathub manifests with Rob McQueen of the GNOME Foundation. "Neither of us identify this as something expected to be attributed." However, if Flathub decides later that it should be documented "we'll try to figure it out".

There was a lengthy discussion, and a fair amount of finger pointing and airing of past grievances. The thread was set to "slow mode" which only allowed participants to comment once every two hours. Rana joined the conversation and recounted their previous involvement with Fedora's Flatpaks and reasons for losing interest in the effort. Spaleta replied to say that he was not around during Rana's tenure with Fedora, but sympathized with their frustration.

Eventually, Spaleta floated the idea that Fedora's Flatpak special interest group (SIG) could be organized more like EPEL, which provides extra packages for Red Hat Enterprise Linux (RHEL) and its derivatives like AlmaLinux and Rocky Linux. He also suggested that Ravier's proposal could be revived and approved for the Fedora 44 release.

Spaleta did not provide a concrete plan but he did say that a proposal to get Fedora's Flatpak SIG "in a healthier place overall" could show up as a change proposal in the release cycle for Fedora 44 "if we can get it together". The "if" in that comment is doing a lot of work; depending on the scope of the eventual proposal, the deadline for submission could be as early as December 17.

With luck, Fedora will be able to address some of the persistent complaints from its users, upstream open-source projects, and downstream projects that use Fedora as a base. In particular, ensuring that users are aware of the difference between Fedora and Flathub Flatpaks, and have full control over which repositories and packages are installed, would go a long way toward reducing (if not eliminating) complaints.

Comments (139 posted)

A struct sockaddr sequel

By Jonathan Corbet
November 14, 2025
One of the many objectives of the Linux Kernel Self-Protection Project (KSPP), which just completed ten years of work, is to ensure that all array references can be bounds-checked, even in the case of flexible array members, the size of which is not known at compile time. One of the most challenging flexible array members in the kernel is not even declared as such. Almost exactly one year ago, LWN looked at the effort to increase safety around the networking subsystem's heavily used sockaddr structure. One year later, Kees Cook is still looking for a way to bring this work to a close.

In short, the problem is that struct sockaddr is traditionally defined as:

    struct sockaddr {
        short sa_family;
	char sa_data[14];
    };

The sa_data field was more than large enough to hold a network address in the early 1980s when this structure was first defined for BSD Unix, but it is not large enough now. As a result, a great deal of code, in both the kernel and user space, passes around struct sockaddr pointers that, in truth, point to different structures with more space for the addresses they need to hold. In other words, sa_data is being treated as a flexible array member, even though it is not declared as one. The prevalence of struct sockaddr has thrown a spanner into the works of many attempts to better check the uses of array members in structures.

At the end of last year's episode, much of the kernel had been changed to use struct sockaddr_storage (actually implemented as struct __kernel_sockaddr_storage), which has a data array large enough to hold any known network address. An attempt was made to change the definition struct sockaddr to make its sa_data field into an explicit flexible array member, but that work ran into a minor snag. There are many places in the kernel where struct sockaddr is embedded within another structure. In most of these cases, sa_data is not treated as a flexible array member, so developers have freely embedded struct sockaddr anywhere within the containing structure, often not at the end.

If sa_data is redefined as a flexible array member, the compiler no longer knows how large the structure will actually be. That, in turn, means that the compiler does not know how to lay out a structure containing struct sockaddr, so it guesses and emits a warning. Or, in the case of a kernel build, tens of thousands of warnings. Kernel developers, as it turns out, would rather face the prospect of an array overflow than a warning flood of that magnitude, so this work came to a halt.

One possible solution would be to replace embedded struct sockaddr fields with struct sockaddr_storage, eliminating the flexible array member. But that would bloat the containing structures with memory that is not needed, so that approach is not popular either.

Instead, Cook is working on a patch series that introduces yet another struct sockaddr variant:

    struct sockaddr_unsized {
	__kernel_sa_family_t	sa_family;	/* address family, AF_xxx */
	char			sa_data[];	/* flexible address data */
    };

Its purpose is to be used in internal network-subsystem interfaces where the size of sa_data needs to be flexible, but where its actual size is also known. For example, the bind() method in struct proto_ops is defined as:

    int	(*bind) (struct socket *sock,
		 struct sockaddr *myaddr,
		 int sockaddr_len);

The type of myaddr can be changed to struct sockaddr_unsized * since sockaddr_len gives the real size of the sa_data array. Cook's patch series does many such replacements, eliminating the use of variably sized sockaddr structures in the networking subsystem. With that done, there are no more uses of struct sockaddr that read beyond the 14-byte sa_data array. As a result, struct sockaddr can be reverted to its classic, non-flexible definition, and array bounds checking can be applied to code using that structure.

That change is enough to make all of those warnings go away, so many would likely see it as a good stopping point. There is still, though, the matter of all those sockaddr_unsized structures, any of which might be the source of a catastrophic overflow at some point. So, once the dust settles from this work, we are likely to see some attention paid to implementing bounds checking for those structures. One possible approach mentioned in the patch set is to eventually add an sa_data_len field, so that the structure would contain the length of its sa_data array. That would make it easy to document the relationship between the fields with the counted_by() annotation, enabling the compiler to insert bounds checks.

While the ability to write new code in Rust holds promise for reducing the number of memory-safety bugs introduced into the kernel, the simple fact is that the kernel contains a huge amount of C code that will not be going away anytime soon. Anything that can be done to make that code safer is thus welcome. The many variations of struct sockaddr that have made the rounds may seem silly to some, but they are a part of the process of bringing a bit of safety to an API that was defined over 40 years ago. Ten years of KSPP have made the kernel safer, but the job is far from done.

Comments (14 posted)

Hot-page migration and specific-purpose NUMA nodes

By Jonathan Corbet
November 17, 2025
For better or for worse, the NUMA node is the abstraction used by the kernel to keep track of different types of memory. How that abstraction is used, though, is still an active area of development. Two patch sets focused on this problem are currently under review; one addresses the perennial problem of promoting heavily used folios from slower to faster memory, while the other aims to improve the kernel's handling of nodes containing special memory installed for a specific purpose.

Hot-page tracking

Over the last several years, there has been an ongoing push to create systems with multiple classes (or "tiers") of memory. While most memory might be ordinary RAM, a system could also be equipped with a small amount of high bandwidth memory and, perhaps, larger amounts of relatively slow memory. In the absence of other concerns (such as a policy requiring low-price tenants to languish in slower memory), the system is generally best served by placing the most frequently accessed data in its fastest memory.

Actually placing data that way can be tricky, though. The kernel can, with relative ease, detect memory that has not been accessed for a while; the data stored there can then be pushed down to slower memory. Figuring out which data in slower memory should be moved to faster tiers is harder, but it is an important problem to solve; otherwise demotion to lower tiers could become a one-way trip. Some types of hardware are beginning to gain features that can track frequency of access, but the kernel is not yet prepared to make the best use of those features.

Bharata B Rao has been working on a solution to this problem for a while; this work was covered here in March 2025. The latest version of his patch series has evolved somewhat since then. At its core, though, it remains a mechanism by which any kernel subsystem that has information about when a given page was last accessed can report that data to a central registry, which then uses the accumulated data to determine which pages (or, more correctly, which folios containing those pages) should be migrated to faster memory.

This new subsystem provides a call that can be used to report memory activity:

    int pghot_record_access(unsigned long pfn, int nid, int src,
                            unsigned long time);

The pfn parameter should contain the page-frame number of the page that was accessed. If the NUMA node from which the access originated is known, it should be passed in nid; otherwise the caller should pick a top-tier node to identify here. The time of the access, if known, is passed in time. The src parameter describes the source of this information — how the activity on the given page was detected. It should be one of PGHOT_HW_HINTS (activity reported by the hardware), PGHOT_PGTABLE_SCAN (obtained by scanning page tables), or PGHOT_HINT_FAULT (a page fault).

The way this data is managed has changed in this version of the patch set, which now maintains a single long int value for each page being tracked. That is a significant amount of overhead in a kernel where efforts are being made to squeeze every bit out of struct page, but it is significantly reduced from previous versions. That integer value is split into four fields containing a NUMA node ID, an access count, the time of last report, and a "should be promoted" flag.

When a new report comes in, pghot_record_access() looks at the existing information for the indicated page. If the NUMA node stored there differs from the node passed to this call, or if the time since the last reported access exceeds a threshold, old data will be discarded and the access count set to one, attributed to the indicated nid. Otherwise, the existing access count will be incremented (unless that would cause it to overflow). If the access count exceeds another threshold (wired to two in this series), the sign bit will be set as an indicator that the page is hot and should be moved to a faster tier.

Also part of this series is a new kernel thread that occasionally scans the hotness data and attempts to promote the pages that have been marked as active. There is a set of sysctl knobs that the administrator can use to control which types of hotness data should be accepted. Another new kernel thread performs page-table scanning, noting which pages are accessed and reporting that information so that the hot pages can be promoted.

The benchmark results included with the series seem somewhat inconclusive, showing some improvements and some significant regressions. This series might be converging on an approach that will pass muster, but there is still clearly work to be done.

Specific-purpose nodes

As a general rule, if a NUMA node presents memory to the system, that memory becomes freely available for the kernel, and eventually user space, to use as it will. The list of nodes that a process can be allocated can be restricted with the kernel's memory-policy API or the cpuset mechanism, but the default is to allocate memory globally. That approach does not work well in the presence of memory that has special characteristics that make it unsuitable for general use. Gregory Price is looking to address that problem with the concept of specific-purpose memory NUMA nodes, which would host memory that is not generally available for use as system RAM.

As an example of the type of node he is planning for, he mentions a compressed-memory node. This could be a CXL-attached device that automatically compresses pages written to it, and decompresses them when they are read back. It would work well as a sort of swap device but, since data stored there is essentially read-only, this memory is not suitable for use as ordinary system RAM. This node could be marked as a specific-purpose node when it is added to the system; a modified version of zswap could allocate pages from it and swap data there, but that node's memory would not be available for most allocation requests.

The implementation of this concept is simple and clearly not intended to be the complete solution. When added to the system, a memory node can be marked as either "sysram" (ordinary memory) or "specific-purpose"; that designation cannot be changed during the life of the system. The sysram nodes are collected into a list and used to satisfy normal allocation requests. To obtain memory from a specific-purpose node, a kernel function must specify that node explicitly in its allocation request and provide the new __GFP_SPM_NODE allocation flag. There is no way to directly allocate specific-purpose memory from user space.

That is about as far as the series goes; a few things are missing still. For example, while a node can be marked as specific-purpose, there is no way to indicated which of many possible purposes the memory is specific to. The zswap implementation simply takes the first specific-purpose node it finds and assumes it will be of the right type. There has also not yet been effort put into implementing basic memory-management functions like reclaim and compaction on specific-purpose memory.

The purpose of this patch set is clearly to get a conversation started on how nonstandard types of memory should be handled in the kernel. Price has a proposed session at the upcoming Linux Plumbers Conference that will try to push some of these ideas forward. Thus, further developments can presumably be expected in December.

Comments (1 posted)

Pouring packages with Homebrew

By Joe Brockmeier
November 18, 2025

The Homebrew project is an open-source package-management system that comes with a repository of useful packages for Linux and macOS. Even though Linux distributions have their own package management and repositories, Homebrew is often used to obtain software that is not available in a distribution's repository or to install more current versions of projects than are available from long-term-support (LTS) distributions. Homebrew 5.0.0, released on November 12, 2025, expanded Linux support to include 64-bit Arm packages in addition to x86_64, and turned on concurrent downloads by default to speed up package downloads.

The project began in 2009 as a package-management system for Mac OS X, later macOS, which did not (and still does not) have a package manager as such. It allowed users to easily install and manage software not included with the operating system or available in Apple's App Store; in particular, it is popular for installing open-source applications that are either unavailable with macOS or shipped with the operating system but severely outdated.

Over time, a fork of the project called Linuxbrew became a popular way to install software on Linux as well. It was merged with Homebrew for the 2.0.0 release in 2019. In addition to serving as a supplement to a distribution's package repositories, Homebrew has become a recommended method of managing software on some image-based distributions, such as Bazzite, which do not support traditional Linux package management using APT, DNF, etc. It makes a good complement to Flatpak for such systems; Homebrew's focus is command-line and server software, rather than desktop applications.

Getting started

Homebrew is written in Ruby and available under a BSD 2-clause license. The recommended way to install Homebrew on Linux is, unfortunately, by fetching the install script via curl and feeding it to bash. It prompts for sudo access during the install, so users need to be able to use sudo to install Homebrew—or to persuade the system's administrator to do it for them—but afterward it does not require sudo to install or manage software.

The installer puts Homebrew in /home/linuxbrew/.linuxbrew; users will need to add that to their path afterward. The project's install documentation notes that it is possible to install Homebrew elsewhere, but it is unsupported: "If you decide to use another prefix: don't open any issues, even if you think they are unrelated to your prefix choice. They will be closed without response."

That may seem a bit odd, but there is a reason for the project's choice of directory and insistence that users stick to that directory or take their chances. It is possible to compile Homebrew packages from source, but the default is to install a prebuilt binary package which is (maintaining the overall theme) called a bottle. Some of the precompiled binaries contain hard-coded paths, so the project chose /home/linuxbrew as the default directory. In the early days of the Homebrew project, the default was to compile from source rather than to install precompiled binaries—so there were no doubt many packages that already had ~/.linuxbrew as the default location.

Once installed, the brew command can be used to install, update, remove, and otherwise manage software. The "brew help" command will provide a short list of available operations and a link to the documentation. As one might suspect from the name and logo (a mug of beer), the project leans heavily into beer-related terminology, which is helpfully documented online.

A package definition for Homebrew that builds from upstream open-source projects is called a formula (plural "formulae"); these are written in Ruby. A Git repository of formulae is called a tap, and the project maintains a core repository (the "core tap") with hundreds of formulae.

So, "brew install fzf" would install the bottle for the fzf command-line fuzzy finder project, as well as any dependencies. Adding the source option (-s) would build fzf from source, though it still downloads fzf's dependencies as binaries. It seems something of a terminology miss that dependencies are not called "chasers", but I digress.

Brewing

Anyone can submit a formula to the core repository: the guidelines for acceptable formulae include a requirement that the software is available under a license that meets the Debian Free Software Guidelines. That is not the sole requirement, of course. The project also has a prohibition on software that upgrades itself (rather than being updated using "brew update"), and discourages vendoring other software, though the guidelines indicate flexibility. If something cannot be packaged without vendoring, "so be it; better to have packaged software in Homebrew than not." Homebrew refers to the policies from Debian and Fedora as examples of acceptable vendoring practices. Homebrew also has the sensible requirement that a formula must use a stable version tagged by the upstream project; the project does not want to be shipping unstable software, unreleased versions, etc.

Finally, its documentation notes that exceptions to its guidelines may be made in either direction: some software that meets the written criteria may be rejected, and some software may be accepted that does not meet all the criteria. "Although some rejections may seem arbitrary or strange they are based on years of experience making Homebrew work acceptably for our users."

Software need not be in the core repository to work with Homebrew, however. Users may want to package software for their own use without submitting it to the project, which can be done by creating a custom tap. The "brew tap" command can be used to add a third-party repository; the project maintains a list of interesting third-party taps users may want to try out.

Homebrew also provides packages that are only available in binary format and that are not (necessarily) open source; these are called casks. This is mostly a convenience feature for macOS; it allows users to install and manage popular desktop applications, such as Ghostty, GIMP, or Zoom, from the command line instead of having to use the App Store or download an Apple Disk Image (DMG). Homebrew added preliminary support for Linux casks with the 4.5.0 release in April 2025. I haven't, so far, found any packages I wanted to install via Homebrew that were casks rather than formulae, but I expect that the community will add a larger selection of casks over time.

Linux users who are comfortable with DNF or APT will have no problem acclimating to using Homebrew. The basics are pretty much the same; "brew install" installs packages, "brew search" is used to find available packages, "brew upgrade" upgrades packages, and so forth. Running "brew commands" will display a full list of brew's built-in commands, including those for creating and working with formulae. For example, "brew edit fzf" will open the Ruby script for fzf's package.

One thing I like about Homebrew is the amount of information provided about packages and how easy it is to search the development history of packages. The "brew search --pull-request text" option allows users to search Homebrew's GitHub repositories, including the formulae, cask, and main project repository, for any pull requests that have been submitted to the project with "text" in them. This means that one can search for all pull requests that match a package name or other term of interest.

Analytics

The "brew info package" command provides the version of the package, its repository information, how much space it takes up on disk, license, and the analytics information for the package. That last bit is something Linux users will no doubt want to know more about.

By default, Homebrew enables anonymous analytics after it is installed and has shown the user a notice about analytics. No analytics are sent during the installation. The notice is part of many messages displayed to the user after install, and is easy to miss; but the project does provide a link to the documentation that explains what is collected, how long it is retained (365 days), and how it is used. Users who do not want to provide analytics can opt-out by setting an environment variable ("HOMEBREW_NO_ANALYTICS=1") or by running "brew analytics off".

The project's documentation explains why it collects analytics, and I am sympathetic to the fact that it is a volunteer project that uses the data to try to guide development. Still, it would be better if users were asked about analytics during installation rather than collecting them by default. Even a prompt that defaulted to "yes, take my data please" would be preferable.

All that said, Homebrew's analytics data is publicly available and provides some interesting insights about the use of the project. In particular, the OS versions for events data shows that Linux users make up a larger part of Homebrew's install base than one might expect. Mac users are far and away the majority of Homebrew users. But, in the last year, Ubuntu LTS users accounted for about 12% of the events tracked by Homebrew's analytics. It also shows the relative usage and popularity of various Linux distributions; the 90-day and 30-day views indicate that Bazzite is steadily becoming more popular, having climbed from 0.23% of events in the year view to 1.01% in the last 30 days.

The Homebrew project is fairly mature at this point, so its releases mostly bring modest enhancements and improvements rather than big changes. The significant changes in 5.0.0 that concern Linux users are the promotion of Arm64/Aarch64 packages to Tier 1 support, and turning on concurrent downloads by default. Even though Homebrew is an all-volunteer project, it has well-defined support tiers to help users understand how well things are expected to work on different systems. Each tier describes the combination of operating system, hardware, and Homebrew configuration. For example, the definition of a Tier 1 Linux system only includes Ubuntu releases still within their support window, or a Homebrew Docker image, running on x86_64 or Arm 64-bit systems. Thus, the project would consider Debian, Fedora, or other distributions to be Tier 2.

Tier 1, for instance, receives the highest level of support and test coverage. If a patch or formula fails to build for a Tier 1 system, it is rejected. Tier 2 and Tier 3, of course, have reduced expectations and the maintainers do not commit to fixing bugs or accepting pull requests for these tiers.

The concurrent downloads feature was added in the 4.6.0 release, but was opt-in only. In 5.0.0 it is turned on by default and set to "auto", which sets the number of downloads to twice the number of CPU cores on a system. So, for example, if a system has 16 cores, "brew—install foo" will attempt up to 32 parallel downloads if the operation requires it. This can be faster if a package has many dependencies that also need to be downloaded and installed. The command also displays download progress as each dependency is downloaded; this is not exactly a critical feature, but it's fun to watch.

Homebrewing

If one has a bit of Ruby background or is willing to learn, packaging software for Homebrew is not terribly difficult. The Formula Cookbook explains the package definition format and has plenty of tips for creating formulae. The project also has a good guide for opening pull requests whether one wants to submit a new formula, cask, or make changes to brew itself.

Homebrew is a fairly active project with well-documented governance policies. The project is on Open Collective, and its finances and expenses are visible there. The project is volunteer-run but does provide some stipends to maintainers as well as things like reimbursing for conference travel.

It is by no means a full replacement for distribution package management or repositories, but Homebrew does help fill in the gaps on older systems and image-based systems. It is straightforward to work with as an end user and amateur packager.

Comments (11 posted)

Page editor: Joe Brockmeier

Brief items

Security

Privilege escalation in LightDM Greeter by KDE (SUSE Security Team Blog)

The SUSE Security Team has published an in-depth article on its findings after reviewing a D-Bus service contained in LightDM Greeter by KDE (the lightdm-kde-greeter package) for addition to openSUSE Tumbleweed. The team found a privilege escalation from the lightdm service user to root, as well as other attack vectors in the service:

In agreement with upstream, we assigned CVE-2025-62876 to track the lightdm service user to root privilege escalation aspect described in this report. The severity of the issue is low, since it only affects defense-in-depth (if the lightdm service user were compromised) and the problematic logic can only be reached and exploited if triggered interactively by a privileged user.

The fixes are contained in the 6.0.4 release of the project.

Comments (none posted)

Rust in Android: move fast and fix things (Google Security Blog)

The Google Security Blog has a new post on just how well the use of Rust is working out for the Android project.

We adopted Rust for its security and are seeing a 1000x reduction in memory safety vulnerability density compared to Android's C and C++ code. But the biggest surprise was Rust's impact on software delivery. With Rust changes having a 4x lower rollback rate and spending 25% less time in code review, the safer path is now also the faster one.

Comments (108 posted)

Kernel development

Kernel release status

The current development kernel is 6.18-rc6, released on November 16. Linus said: "So we have a slightly larger rc6 than usual, but I think it's just the random noise and a result of pull request timings rather than due to any issues with the release. But I guess we have a couple of weeks remaining to find out."

Stable updates: 6.17.8 and 6.12.58 were released on November 13.

Comments (none posted)

Quote of the week

Each step took somewhere between 90 minutes and two hours on a total of 1600 CPUs, and all ~11 bisection steps completed without my intervention. Thus far, neither the test grid, the systems, the scripting, nor git bisect have complained about my having wasted their time, but what with AI they probably soon will do so.
Paul McKenney

Comments (none posted)

Distributions

Josefsson: Introducing the Debian Libre Live Images

Debian developer Simon Josefsson has announced the Debian Libre Live Images project, to allow installing Debian without any non-free software:

Since the 2022 decision on non-free firmware, the official images for bookworm and trixie contains non-free software.

The Debian Libre Live Images project provides Live ISO images for Intel/AMD-compatible 64-bit x86 CPUs (amd64) built without any non-free software, suitable for running and installing Debian. The images are similar to the Debian Live Images...

He does warn that this is a first public release, so there may be problems. See the current list of known issues before trying the images out.

Comments (25 posted)

Postmortem of the Xubuntu.org download site compromise

In mid-October, the Xubuntu download site was compromised and had directed users to a malicious zip file instead of the Torrent file that users expected. Elizabeth K. Joseph has published a postmortem of the incident, along with plans to avoid such a breach in the future:

To be perfectly clear: this only impacted our website, and the torrent links provided there.

If you downloaded or opened a file named "Xubuntu-Safe-Download.zip" from the Xubuntu downloads page during this period, you should assume it was malicious. We strongly recommend scanning your computer with a trusted antivirus or anti-malware solution and deleting the file immediately.

Nothing on cdimages.ubuntu.com or any of the other official Ubuntu repositories was impacted, and our mirrors remained safe as long as they were also mirroring from official resources.

None of the build systems, packages, or other components of Xubuntu itself were impacted.

Comments (49 posted)

Development

Blender 5.0 released

Version 5.0 of the Blender animation system has been released. Notable improvements include improved color management, HDR capabilities, and a new storyboarding template. See the release notes for a lengthy list of new features and changes, and the bugfixes page for the 588 commits that fixed bugs in Blender 4.5 or older.

Comments (none posted)

Git 2.52.0 released

Version 2.52.0 of the Git source-code management system has been released. Changes include a new last-modified command to find the closest ancestor commit that touched one or more paths, a couple of git refs improvements, a new git repo command for obtaining information about the repository itself, and more. See the announcement and this GitHub blog entry for more information.

Comments (none posted)

GStreamer Conference 2025 video recordings now available

Recordings from the GStreamer Conference 2025, held in London in late October, are now available on the GStreamer Conferences Archive site. Includes the GStreamer State of the Union talk by Tim-Philipp Müller, State of MPEG 2 Transport Stream (MPEG-TS) by Edward Hervey, and many others.

Full Story (comments: none)

Thunderbird 145 released

Version 145 of the Thunderbird email client has been released. Notable changes in this release include enabling DNS over HTTPS, support for Microsoft Exchange via Exchange Web Services, and quite a few bug fixes. As of 145, the project is no longer shipping 32-bit binaries for Linux on x86.

Comments (9 posted)

Development quote of the week

Removing XSLT from browsers was long overdue and I'm saying that as ex-maintainer of libxslt who probably triggered (not caused) this removal. What's more interesting is that Chromium plans to switch to a Rust-based XML parser. Currently, they seem to favor xml-rs which only implements a subset of XML. So apparently, Google is willing to remove standards-compliant XML support as well. This is a lot more concerning.
Nick Wellnhofer

Comments (1 posted)

Page editor: Daroc Alden

Announcements

Newsletters

Distributions and system administration

Development

Emacs News November 17
gem.coop update #2 November 19
This Week in GNOME November 14
GNU Tools Weekly News November 16
Golang Weekly November 19
LLVM Weekly November 17
This Week in Matrix November 14
This Week in Matrix November 19
OCaml Weekly News November 18
Perl Weekly November 17
This Week in Plasma November 15
PyCoder's Weekly November 18
Weekly Rakudo News November 17
Ruby Weekly News November 13
This Week in Rust November 12
Wikimedia Tech News November 17

Meeting minutes

Miscellaneous

Calls for Presentations

CFP Deadlines: November 20, 2025 to January 19, 2026

The following listing of CFP deadlines is taken from the LWN.net CFP Calendar.

DeadlineEvent Dates EventLocation
November 30 March 19 Open Tech Day 26: OpenTofu Edition Nuremberg, Germany
December 15 March 9
March 10
FOSSASIA Summit Bangkok, Thailand
December 15 February 24
February 25
Linux Foundation Member Summit Napa, CA, US
December 16 January 29
January 30
CentOS Connect Brussels, Belgium
December 18 December 1
December 3
Critical Decentralisation Cluster at 39C3 Hamburg, Germany
December 19 May 15
May 17
PyCon US Long Beach, California, US
December 21 February 2 OpenEmbedded Workshop 2026 Brussels, Belgium
December 31 April 28
April 29
stackconf 2026 Munich, Germany
January 12 March 28
March 29
Chemnitz Linux Days Chemnitz, Germany
January 12 March 28 Central Pennsylvania Open Source Conference Lancaster, USA

If the CFP deadline for your event does not appear here, please tell us about it.

Upcoming Events

Events: November 20, 2025 to January 19, 2026

The following event listing is taken from the LWN.net Calendar.

Date(s)EventLocation
November 18
November 20
Open Source Monitoring Conference Nuremberg, Germany
November 19
November 20
Open vSwitch OVN Conf'25 Prague, Czech Republic
November 20 NLUUG Autumn Conference 2025 Utrecht, The Netherlands
December 1
December 3
Critical Decentralisation Cluster at 39C3 Hamburg, Germany
December 2
December 4
Yocto Project Virtual Summit 2025.12 Online
December 6 OLF Conference Columbus, OH, US
December 6
December 7
EmacsConf online
December 8
December 10
Open Source Summit Japan Tokyo, Japan
December 8
December 10
Automotive Linux Summit Tokyo, Japan
December 10
December 11
Open Source Experience 2025 Paris, France
December 11
December 12
Open Compliance Summit Tokyo, Japan
December 11
December 13
Linux Plumbers Conference Tokyo, Japan
December 13
December 14
LibreOffice Asia Conference 2025 Tokyo, Japan
December 13
December 15
GNOME Asia Summit 2025 Tokyo, Japan

If your event does not appear here, please tell us about it.

Security updates

Alert summary November 13, 2025 to November 19, 2025

Dist. ID Release Package Date
Debian DSA-6055-1 stable chromium 2025-11-13
Debian DLA-4370-1 LTS firefox-esr 2025-11-13
Debian DSA-6054-1 stable firefox-esr 2025-11-12
Debian DLA-4371-1 LTS gst-plugins-base1.0 2025-11-14
Debian DSA-6056-1 stable keystone 2025-11-13
Debian DSA-6058-1 stable lasso 2025-11-15
Debian DLA-4373-1 LTS libwebsockets 2025-11-17
Debian DSA-6057-1 stable lxd 2025-11-13
Debian DLA-4374-1 LTS pdfminer 2025-11-18
Debian DLA-4372-1 LTS thunderbird 2025-11-16
Debian DSA-6059-1 stable thunderbird 2025-11-16
Fedora FEDORA-2025-d9f9394ecd F42 bind9-next 2025-11-16
Fedora FEDORA-2025-b68f7f541d F43 bind9-next 2025-11-16
Fedora FEDORA-2025-7c82e2b870 F41 chromium 2025-11-19
Fedora FEDORA-2025-c92c2e0d79 F42 chromium 2025-11-18
Fedora FEDORA-2025-36898b8750 F43 chromium 2025-11-16
Fedora FEDORA-2025-80ed98504b F41 containerd 2025-11-15
Fedora FEDORA-2025-daa6238745 F42 containerd 2025-11-15
Fedora FEDORA-2025-ffac32ead0 F43 containerd 2025-11-15
Fedora FEDORA-2025-122a933cad F41 docker-buildkit 2025-11-14
Fedora FEDORA-2025-ac008831d6 F42 docker-buildkit 2025-11-14
Fedora FEDORA-2025-d1dade0612 F43 docker-buildkit 2025-11-14
Fedora FEDORA-2025-ba7105c612 F41 firefox 2025-11-19
Fedora FEDORA-2025-457ee8a964 F42 firefox 2025-11-14
Fedora FEDORA-2025-2d9e01e0fc F43 firefox 2025-11-13
Fedora FEDORA-2025-c0d54269e6 F41 fvwm3 2025-11-18
Fedora FEDORA-2025-f7d7958683 F42 fvwm3 2025-11-18
Fedora FEDORA-2025-a5cdd30644 F43 fvwm3 2025-11-17
Fedora FEDORA-2025-6981d97f47 F43 gh 2025-11-14
Fedora FEDORA-2025-a10fad6506 F42 gitleaks 2025-11-14
Fedora FEDORA-2025-7e6204e34e F41 lasso 2025-11-14
Fedora FEDORA-2025-3edcd991a4 F42 lasso 2025-11-14
Fedora FEDORA-2025-78747a63cd F41 luksmeta 2025-11-16
Fedora FEDORA-2025-457000540a F42 luksmeta 2025-11-16
Fedora FEDORA-2025-c555ce4089 F41 opentofu 2025-11-15
Fedora FEDORA-2025-6ab111452f F42 opentofu 2025-11-15
Fedora FEDORA-2025-21b93506d5 F43 opentofu 2025-11-15
Fedora FEDORA-2025-d019d16668 F41 python-pdfminer 2025-11-17
Fedora FEDORA-2025-453047be66 F42 python-pdfminer 2025-11-17
Fedora FEDORA-2025-63872f52bb F43 python-pdfminer 2025-11-17
Fedora FEDORA-2025-00e5b3d89c F41 python-uv-build 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 python-uv-build 2025-11-15
Fedora FEDORA-2025-a35addbf9b F41 rubygem-rack 2025-11-13
Fedora FEDORA-2025-eae2126736 F42 rubygem-rack 2025-11-13
Fedora FEDORA-2025-b6e0f437b6 F43 rubygem-rack 2025-11-13
Fedora FEDORA-2025-00e5b3d89c F41 ruff 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 ruff 2025-11-15
Fedora FEDORA-2025-6924245627 F41 runc 2025-11-14
Fedora FEDORA-2025-ef192f5d10 F42 runc 2025-11-14
Fedora FEDORA-2025-ebd4913540 F43 runc 2025-11-14
Fedora FEDORA-2025-00e5b3d89c F41 rust-get-size-derive2 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-get-size-derive2 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-get-size2 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-get-size2 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-regex 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-regex 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-regex-automata 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-regex-automata 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-reqsign 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-reqsign 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-reqsign-aws-v4 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-reqsign-aws-v4 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-reqsign-command-execute-tokio 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-reqsign-command-execute-tokio 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-reqsign-core 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-reqsign-core 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-reqsign-file-read-tokio 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-reqsign-file-read-tokio 2025-11-15
Fedora FEDORA-2025-00e5b3d89c F41 rust-reqsign-http-send-reqwest 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 rust-reqsign-http-send-reqwest 2025-11-15
Fedora FEDORA-2025-e49d776723 F41 seamonkey 2025-11-14
Fedora FEDORA-2025-4eaa870223 F42 seamonkey 2025-11-14
Fedora FEDORA-2025-5f24a0c1ba F43 seamonkey 2025-11-14
Fedora FEDORA-2025-01148de25a F42 skopeo 2025-11-13
Fedora FEDORA-2025-0490389cb0 F42 suricata 2025-11-17
Fedora FEDORA-2025-a366512b23 F43 suricata 2025-11-17
Fedora FEDORA-2025-00e5b3d89c F41 uv 2025-11-15
Fedora FEDORA-2025-e60a4ba4d7 F42 uv 2025-11-15
Fedora FEDORA-2025-4ffeeb504f F42 webkitgtk 2025-11-13
Fedora FEDORA-2025-9d4a8ab586 F41 xmedcon 2025-11-17
Fedora FEDORA-2025-805b8f571a F42 xmedcon 2025-11-17
Fedora FEDORA-2025-977a26e133 F43 xmedcon 2025-11-17
Mageia MGASA-2025-0301 9 apache 2025-11-18
Mageia MGASA-2025-0299 9 apache-commons-beanutils 2025-11-15
Mageia MGASA-2025-0296 9 apache-commons-fileupload 2025-11-15
Mageia MGASA-2025-0293 9 apache-commons-lang 2025-11-15
Mageia MGASA-2025-0295 9 botan2 2025-11-15
Mageia MGASA-2025-0303 9 bubblewrap, flatpak 2025-11-19
Mageia MGASA-2025-0304 9 cups-filters 2025-11-19
Mageia MGASA-2025-0300 9 firefox 2025-11-17
Mageia MGASA-2025-0274 9 perl 2025-11-12
Mageia MGASA-2025-0285 9 perl-Authen-SASL 2025-11-13
Mageia MGASA-2025-0276 9 perl-CPAN, perl-HTTP-Tiny 2025-11-12
Mageia MGASA-2025-0284 9 perl-Cpanel-JSON-XS 2025-11-13
Mageia MGASA-2025-0287 9 perl-Crypt-OpenSSL-RSA 2025-11-13
Mageia MGASA-2025-0279 9 perl-Data-Entropy 2025-11-12
Mageia MGASA-2025-0277 9 perl-FCGI 2025-11-12
Mageia MGASA-2025-0278 9 perl-File-Find-Rule 2025-11-12
Mageia MGASA-2025-0283 9 perl-JSON-XS 2025-11-13
Mageia MGASA-2025-0275 9 perl-YAML-LibYAML 2025-11-12
Mageia MGASA-2025-0302 9 postgresql13, postgresql15 2025-11-18
Mageia MGASA-2025-0292 9 python-django 2025-11-15
Mageia MGASA-2025-0286 9 python-flask-cors 2025-11-13
Mageia MGASA-2025-0289 9 python-py 2025-11-14
Mageia MGASA-2025-0288 9 python-setuptools 2025-11-14
Mageia MGASA-2025-0282 9 python-tornado 2025-11-12
Mageia MGASA-2025-0281 9 python-urllib3, python-pip 2025-11-12
Mageia MGASA-2025-0280 9 python3 2025-11-12
Mageia MGASA-2025-0290 9 ruby 2025-11-14
Mageia MGASA-2025-0294 9 spdlog 2025-11-15
Mageia MGASA-2025-0298 9 stardict 2025-11-15
Mageia MGASA-2025-0305 9 thunderbird 2025-11-19
Mageia MGASA-2025-0273 9 unbound 2025-11-12
Mageia MGASA-2025-0291 9 webkit2 2025-11-14
Mageia MGASA-2025-0297 9 yelp-xsl 2025-11-15
Oracle ELSA-2025-21232 OL8 container-tools:rhel8 2025-11-19
Oracle ELSA-2025-21140 OL8 idm:DL1 2025-11-17
Oracle ELSA-2025-17649 OL7 ipa 2025-11-12
Oracle ELSA-2025-18814 OL7 java-1.8.0-openjdk 2025-11-13
Oracle ELSA-2025-19962 OL10 kernel 2025-11-12
Oracle ELSA-2025-19931 OL8 kernel 2025-11-12
Oracle ELSA-2025-25757 OL8 kernel 2025-11-12
Oracle ELSA-2025-21398 OL8 kernel 2025-11-19
Oracle ELSA-2025-25757 OL9 kernel 2025-11-12
Oracle ELSA-2025-19930 OL9 kernel 2025-11-12
Oracle ELSA-2025-25757 OL9 kernel 2025-11-12
Oracle ELSA-2025-19167 OL7 squid 2025-11-19
Red Hat RHSA-2025:21034-01 EL10 bind 2025-11-18
Red Hat RHSA-2025:19912-01 EL10 bind 2025-11-18
Red Hat RHSA-2025:19835-01 EL8 bind 2025-11-18
Red Hat RHSA-2025:21110-01 EL9 bind 2025-11-18
Red Hat RHSA-2025:19951-01 EL9.6 bind 2025-11-18
Red Hat RHSA-2025:21111-01 EL9 bind9.18 2025-11-18
Red Hat RHSA-2025:19950-01 EL9 bind9.18 2025-11-18
Red Hat RHSA-2025:21232-01 EL8 container-tools:rhel8 2025-11-13
Red Hat RHSA-2025:21281-01 EL10 firefox 2025-11-18
Red Hat RHSA-2025:21120-01 EL10.0 firefox 2025-11-18
Red Hat RHSA-2025:21280-01 EL9 firefox 2025-11-18
Red Hat RHSA-2025:21667-01 EL8.2 kernel 2025-11-19
Red Hat RHSA-2025:15002-01 EL8.2 krb5 2025-11-13
Red Hat RHSA-2025:15003-01 EL8.4 krb5 2025-11-13
Red Hat RHSA-2025:15001-01 EL8.6 krb5 2025-11-13
Red Hat RHSA-2025:15004-01 EL8.8 krb5 2025-11-13
Red Hat RHSA-2025:15000-01 EL9.0 krb5 2025-11-13
Red Hat RHSA-2025:13777-01 EL9.2 krb5 2025-11-13
Red Hat RHSA-2025:13664-01 EL9.4 krb5 2025-11-13
Red Hat RHSA-2025:21248-01 EL10 openssl 2025-11-18
Red Hat RHSA-2025:21255-01 EL9 openssl 2025-11-13
Red Hat RHSA-2025:21562-01 EL9.4 openssl 2025-11-18
Red Hat RHSA-2025:21174-01 EL9.6 openssl 2025-11-13
Red Hat RHSA-2025:21036-01 EL10 pcs 2025-11-13
Red Hat RHSA-2025:19948-01 EL8.4 pcs 2025-11-13
Red Hat RHSA-2025:20962-01 EL9 pcs 2025-11-13
Red Hat RHSA-2025:21220-01 EL10 podman 2025-11-13
Red Hat RHSA-2025:20957-01 EL9 runc 2025-11-13
Red Hat RHSA-2025:19927-01 EL9 runc 2025-11-13
Slackware SSA:2025-322-01 libarchive 2025-11-18
Slackware SSA:2025-316-01 mozilla 2025-11-12
Slackware SSA:2025-319-01 xpdf 2025-11-15
SUSE SUSE-SU-2025:4121-1 SLE15 alloy 2025-11-17
SUSE SUSE-SU-2025:4107-1 MP4.3 SLE15 oS15.4 bind 2025-11-14
SUSE SUSE-SU-2025:4109-1 SLE15 SES7.1 oS15.3 bind 2025-11-14
SUSE SUSE-SU-2025:4108-1 SLE15 SLE-m5.5 oS15.5 bind 2025-11-14
SUSE SUSE-SU-2025:4110-1 SLE15 oS15.6 bind 2025-11-14
SUSE SUSE-SU-2025:4096-1 MP4.3 SLE15 SES7.1 oS15.3 oS15.4 oS15.5 oS15.6 binutils 2025-11-14
SUSE openSUSE-SU-2025:15725-1 TW binutils 2025-11-12
SUSE SUSE-SU-2025:4091-1 oS15.6 cargo-packaging, rust-bindgen 2025-11-13
SUSE openSUSE-SU-2025:15736-1 TW chromedriver 2025-11-15
SUSE openSUSE-SU-2025:0430-1 osB15 chromium 2025-11-14
SUSE openSUSE-SU-2025:15735-1 TW firefox 2025-11-15
SUSE SUSE-SU-2025:4125-1 SLE12 ghostscript 2025-11-18
SUSE SUSE-SU-2025:4137-1 SLE15 oS15.4 oS15.6 gimp 2025-11-19
SUSE openSUSE-SU-2025:15729-1 TW go-sendxmpp 2025-11-13
SUSE openSUSE-SU-2025:15730-1 TW helm 2025-11-13
SUSE openSUSE-SU-2025:15739-1 TW itextpdf 2025-11-18
SUSE SUSE-SU-2025:4111-1 MP4.3 SLE15 SLE-m5.3 SLE-m5.4 oS15.4 kernel 2025-11-17
SUSE SUSE-SU-2025:4135-1 SLE-m5.2 kernel 2025-11-18
SUSE SUSE-SU-2025:4132-1 SLE15 kernel 2025-11-18
SUSE SUSE-SU-2025:4128-1 SLE15 oS15.6 kernel 2025-11-18
SUSE SUSE-SU-2025:20996-1 SLE16 SLE-m6.2 oS16.0 kernel 2025-11-12
SUSE SUSE-SU-2025:20994-1 SLE16 SLE-m6.2 oS16.0 kernel 2025-11-12
SUSE SUSE-SU-2025:4090-1 MP4.3 SLE15 SES7.1 lasso 2025-11-13
SUSE SUSE-SU-2025:4094-1 SLE12 lasso 2025-11-14
SUSE SUSE-SU-2025:4115-1 SLE-m5.2 oS15.6 libxml2 2025-11-17
SUSE SUSE-SU-2025:4116-1 SLE-m5.3 SLE-m5.4 oS15.4 libxml2 2025-11-17
SUSE SUSE-SU-2025:4104-1 SLE12 libxml2 2025-11-14
SUSE SUSE-SU-2025:4087-1 SLE15 oS15.6 netty, netty-tcnative 2025-11-12
SUSE SUSE-SU-2025:4112-1 MP4.3 SLE15 SLE-m5.2 SLE-m5.3 SLE-m5.4 SLE-m5.5 SES7.1 oS15.3 openssh 2025-11-17
SUSE SUSE-SU-2025:4097-1 SLE12 openssh 2025-11-14
SUSE SUSE-SU-2025:4098-1 SLE12 openssh8.4 2025-11-14
SUSE SUSE-SU-2025:4126-1 SLE15 SES7.1 oS15.6 openssl-1_0_0 2025-11-18
SUSE SUSE-SU-2025:4080-1 SLE15 SLE-m5.1 SLE-m5.2 SES7.1 oS15.3 podman 2025-11-12
SUSE SUSE-SU-2025:4079-1 SLE15 SLE-m5.3 SLE-m5.4 oS15.4 podman 2025-11-12
SUSE SUSE-SU-2025:4081-1 SLE15 SLE-m5.5 oS15.5 oS15.6 podman 2025-11-12
SUSE SUSE-SU-2025:4100-1 SLE15 oS15.6 python-Django 2025-11-14
SUSE openSUSE-SU-2025:15732-1 TW python-Scrapy-doc 2025-11-13
SUSE openSUSE-SU-2025:15731-1 TW python311-Brotli 2025-11-13
SUSE openSUSE-SU-2025:15727-1 TW python311-pdfminer 2025-11-12
SUSE SUSE-SU-2025:4099-1 SLE12 squid 2025-11-14
SUSE openSUSE-SU-2025:15738-1 TW thunderbird 2025-11-18
SUSE SUSE-SU-2025:4103-1 SLE15 oS15.6 tomcat10 2025-11-14
SUSE SUSE-SU-2025:4086-1 SLE15 oS15.6 tomcat11 2025-11-12
SUSE SUSE-SU-2025:4134-1 SLE15 oS15.6 unbound 2025-11-18
SUSE openSUSE-SU-2025:15733-1 TW weblate 2025-11-13
Ubuntu USN-7836-2 20.04 bind9 2025-11-12
Ubuntu USN-7871-1 25.04 25.10 ffmpeg 2025-11-17
Ubuntu USN-7870-1 14.04 16.04 18.04 20.04 22.04 24.04 25.04 25.10 freeglut 2025-11-18
Ubuntu USN-7872-1 22.04 24.04 25.04 lasso 2025-11-18
Ubuntu USN-7835-6 22.04 linux-aws-6.8 2025-11-12
Ubuntu USN-7861-3 22.04 24.04 linux-nvidia-6.8, linux-oracle, linux-oracle-6.8 2025-11-13
Ubuntu USN-7862-3 22.04 linux-xilinx-zynqmp 2025-11-13
Full Story (comments: none)

Kernel patches of interest

Kernel releases

Linus Torvalds Linux 6.18-rc6 Nov 16
Greg Kroah-Hartman Linux 6.17.8 Nov 13
Greg Kroah-Hartman Linux 6.12.58 Nov 13

Architecture-specific

Build system

Alexandre Chartre objtool: Function validation tracing Nov 13

Core kernel

Development tools

Device drivers

Tianyang Zhang Loongarch irq-redirect support Nov 13
Elaine Zhang rockchip: add can for RK3576 Soc Nov 13
Matti Vaittinen Support ROHM BD72720 PMIC Nov 13
Animesh Manna Enable DP2.1 alpm Nov 13
Yo-Jung Leo Lin (AMD) drm/amdgpu: add UMA carveout tuning interfaces Nov 14
Hao-Wen Ting Add Realtek System Timer driver Nov 14
Prajna Rajendra Kumar Add support for Microchip CoreSPI Controller Nov 14
Vishnu Saini Add lontium lt8713sx bridge driver Nov 15
Andreas Kemnade regulator: Add FP9931/JD9930 Nov 15
Jernej Skrabec drm/sun4i: update DE33 support Nov 15
Kartik Rajput Add I2C support for Tegra410 Nov 17
Larysa Zaremba Introduce iXD driver Nov 17
Sriharsha Basavapatna RDMA/bnxt_re: Support direct verbs Nov 17
Alex Hung Color Pipeline API w/ VKMS Nov 14
Ben Horgan arm_mpam: Add basic mpam driver Nov 17
Siva Reddy Kallam Introducing Broadcom BNG_RE RoCE Driver Nov 17
Ricardo Ribalda media: uvcvideo: Map known XU controls Nov 17
Sander Vanheule RTL8231 GPIO expander support Nov 17
Haibo Chen Add support for NXP XSPI Nov 18
Meghana Malladi Add AF_XDP zero copy support Nov 18
Bart Van Assche Increase SCSI IOPS Nov 17
Jiawen Wu TXGBE support more modules Nov 18
David Heidelberg via B4 Relay Make Samsung SOFEF00 DDIC and panel work Nov 19
Cosmin Tanislav Add RSPI support for RZ/T2H and RZ/N2H Nov 19

Device-driver infrastructure

Documentation

Filesystems and block layer

Memory management

Networking

Security-related

Ricardo Robaina audit: improve NETFILTER_PKT records Nov 14
David Howells lib/crypto: Add ML-DSA signing Nov 14
Tingmao Wang Implement LANDLOCK_ADD_RULE_QUIET Nov 16
Mikhail Ivanov Support socket access-control Nov 18

Virtualization and containers

Miscellaneous

Page editor: Joe Brockmeier


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds