The Microsoft Open Source Blog takesa look at implementing eBPF support in Windows. "Although support for eBPF was first implemented in the Linux kernel, there has been increasing interest in allowing eBPF to be used on other operating systems and also to extend user-mode services and daemons in addition to just the kernel.Today we are excited to announce a new Microsoft open source project tomake eBPF work on Windows 10 and Windows Server 2016 and later. The ebpf-for-windows project aims to allow developers to use familiar eBPF toolchains and application programming interfaces (APIs) on top of existing versions of Windows. Building on the work of others, this project takes several existing eBPF open source projects and adds the “glue” to make them run on Windows."
The coreboot firmware project has releasedversion 4.14. "These changes have been all over the place, so that there's noparticular area to focus on when describing this release: We hadimprovements to mainboards, to chipsets (including much welcomedwork to open source implementations of what has been blobs before),to the overall architecture."
Security updates have been issued by Debian (hivex), Fedora (djvulibre and thunderbird), openSUSE (monitoring-plugins-smart and perl-Image-ExifTool), Oracle (kernel and kernel-container), Red Hat (kernel and kpatch-patch), SUSE (drbd-utils, java-11-openjdk, and python3), and Ubuntu (exiv2, firefox, libxstream-java, and pyyaml).
DragonFly BSD 6.0 has been released. "This version has a revamped VFS caching system, various filesystem updates including HAMMER2, and a long list of userland updates."
By the time the last pull request was acted on and 5.13-rc1was released, a total of 14,231 non-merge commits had found their way intothe mainline. That makes the 5.13 merge window larger than the entire 5.12development cycle (13,015 commits) and just short of all of 5.11 (14,340).In other words, 5.13 looks like one of the busier development cycles wehave seen for a little while.About 6,400 of these commits came in after thefirst-half summary was written, and they include a number ofsignificant new features.
The first 5.13 kernel prepatch is out fortesting, and the merge window is closed for this development cycle."This was - as expected - a fairly big merge window, but things seemto have proceeded fairly smoothly. Famous last words." In the end,14,231 non-merge changesets were pulled into the mainline during the mergewindow — more than were seen during the entire 5.12 cycle.
The IEEE, whose Symposium on Security and Privacy conference had acceptedthe "hypocrite commits" paper for publication, has posteda statement [PDF] on the episode.
While it is sometimes possible to perform I/O by moving data through theCPU, the only way to get the required level of performance is usually for devicesto move data directly to and from memory. Direct memory access (DMA) I/Ohas been well supported in the Linux kernel since the early days, but thereare always ways in which that support can be improved, especially whenhardware adds some challenges of its own. The somewhat confusingly named"non-contiguous" DMA API that was added for 5.13 shows the kinds of things that have to be done to getthe best performance on current systems.
New stable kernels 5.12.2, 5.11.19, 5.10.35, 5.4.117, and 4.19.190 have been released. They contain arelatively short list of updates throughout the tree; users of those seriesshould upgrade.
Security updates have been issued by Debian (mediawiki and unbound1.9), Fedora (djvulibre and samba), Mageia (ceph, messagelib, and pagure), openSUSE (alpine and exim), Oracle (kernel and postgresql), Scientific Linux (postgresql), and Ubuntu (thunderbird and unbound).
Among the many changes merged for 5.13 can be found performanceimprovements throughout the kernel. This work does not always stand outthe way that new features do, but it is vitally important for the future ofthe kernel overall. In the memory-management area, a couple oflong-running patch sets have finally made it into the mainline; theseprovide a bulk page-allocation interface andhuge-page mappings in the vmalloc() area.Both of these changes should make things faster, at least for someworkloads.
Security updates have been issued by Debian (python-django), Fedora (java-latest-openjdk, libopenmpt, python-yara, skopeo, thunderbird, and yara), openSUSE (ceph and openexr), Red Hat (postgresql), SUSE (libxml2), and Ubuntu (exim4 and gnome-autoar).
The era of tracking users all across the web using third-partycookies is coming to a close; that type of cookie issomething of a zombie at this point. All of the major browsers, saveone, are blocking third-party cookies by default and the holdout, GoogleChrome, plans to make that change next year. But Google, which has abusiness model built around advertising that benefits greatly from thestatus quo, has offered up an alternative scheme to "replace" third-partycookies. The Federated Learning ofCohorts (FLoC) is an in-browser mechanism to pigeonhole users in a waythat will be useful to advertisers, but the only reason the idea has anytraction at all is because it is being implemented in Chrome—the dominantbrowser today.
The Linux Foundation Technical Advisory Board has issued itsreport on the submission of (intentionally and unintentionally) buggy patches from theUniversity of Minnesota.
The movement toward using memory-safelanguages, and Rust in particular, has picked up a lot of steam over the past year or two. Removing thepossibility of buffer overflows, use-after-free bugs, and other woes associatedwith unmanaged pointers is an attractive feature, especially given thatthe majority of today's vulnerabilities stem from memory-safetyissues. On April 20, the Internet Security ResearchGroup (ISRG) announceda funding initiative targeting the Rustls TLS library in order toprepare it for more widespread adoption—including by ISRG's Let's Encrypt project.
Security updates have been issued by Debian (bind9, chromium, exim4, and subversion), Fedora (exiv2 and skopeo), openSUSE (gsoap), Oracle (bind, kernel, and sudo), SUSE (bind, ceph, ceph, deepsea, permissions, and stunnel), and Ubuntu (clamav, exim4, openvpn, python-django, and samba).
There are, it seems, 21 vulnerabilities in theExim email server that have been fixed in the 4.94.2 release; at least someof these are remotely exploitable for root access."The current Exim versions (and likely older versions too) suffer fromseveral exploitable vulnerabilities. These vulnerabilities were reportedby Qualys via security@exim.org back in October 2020.Due to several internal reasons it took more time than usual for the Eximdevelopment team to work on these reported issues in a timelymanner." See this advisoryfrom Qualys for the details.
The Red Hat Developer Blog has posted anintroduction to the rr debugger. "rr records trace informationabout the execution of an application. This information allows you torepeatedly replay a particular recording of a failure and examine it in theGNU Debugger (GDB) to better investigate the cause. In addition toreplaying the trace, rr lets you run the program in reverse, in essenceallowing you 'rewind the tape' to see what happened earlier in theexecution of the program."
The kernel's control-group mechanism existsto partition processes and to provide resource guarantees (and limits) for each. Processes runningwithin a properly configured control group are unable to deprivethose running in a different group of their allocated resources (CPU time,memory, I/O bandwidth, etc.), and are equally protected from interferenceby others. With few exceptions, control groups are not used to takedirect actions on processes; Christian Brauner's cgroup.killpatch set is meant to be one of those exceptions.
Security updates have been issued by CentOS (bind, GNOME, java-1.8.0-openjdk, java-11-openjdk, nss and nspr, xstream, and xterm), Debian (bind9 and libimage-exiftool-perl), Fedora (ansible, babel, java-11-openjdk, and java-latest-openjdk), Gentoo (chromium, clamav, firefox, git, grub, python, thunderbird, tiff, webkit-gtk, and xorg-server), Mageia (kernel, nvidia-current, nvidia390, qtbase5, and sdl2), openSUSE (Chromium, cifs-utils, cups, giflib, gsoap, libnettle, librsvg, netdata, postsrsd, samba, thunderbird, virtualbox, and webkit2gtk3), Red Hat (bind), Scientific Linux (bind), and SUSE (containerd, docker, runc and xen).
The 5.12.1,5.11.18,5.10.34, and5.4.116stable updates have been released. These are small and relativelyminor-seeming updates with the exception of 5.4.116, which contains asignificant set of BPF verifier fixes.
Version 6.0.0 ofthe QEMU hardware emulator is out. "This release contains 3300+commits from 268 authors." This release includes a lot of newemulations; see the announcement for a short list or the changelog for details.
As of this writing, just over 7,800 non-merge commits have been pulled intothe mainline repository for the 5.13 development cycle. It does indeedseem true that 5.13 will be busier than its predecessor was. The workmerged thus far affects subsystems across the kernel; read on for a summaryof what has been merged so far.
Security updates have been issued by Arch Linux (bind, chromium, firefox, gitlab, libupnp, nimble, opera, thunderbird, virtualbox, and vivaldi), Debian (composer, edk2, and libhibernate3-java), Fedora (java-1.8.0-openjdk, jetty, and samba), openSUSE (nim), Oracle (bind and runc), Red Hat (bind), SUSE (cifs-utils, cups, ldb, samba, permissions, samba, and tomcat), and Ubuntu (samba).
Martin Michlmayr has put together a primer on managing open-source projectsthrough their growth cycle, specifically with the help of a supportfoundation, and published the results as a67-page PDF file.
On April 20, the world became aware of aresearch program conducted out of the University of Minnesota (UMN) thatinvolved submitting intentionally buggy patches for inclusion into theLinux kernel. Since then, a paper resulting from this work has beenwithdrawn, various letters have gone back and forth, and numerous patches from UMN have beenaudited. It's clearly time for an update on the situation.
Security updates have been issued by Fedora (ceph, jetty, kernel, kernel-headers, kernel-tools, openvpn, and shim-unsigned-x64), Mageia (firefox and thunderbird), Oracle (nss and openldap), Red Hat (bind), Slackware (bind), SUSE (firefox, giflib, java-1_7_0-openjdk, libnettle, librsvg, thunderbird, and webkit2gtk3), and Ubuntu (bind9 and gst-plugins-good1.0).
The researchers at the University of Minnesota have posted adescription of the work they did [PDF] as part of their "hypocritecommits" project. It includes a list of the buggy commits they posted andhow they were handled.
Now that the Fedora 34 release is out the door, the Fedora project isturning its attention to Fedora 35, which is currently scheduledfor release on October 26. One of the changes under consideration forFedora 35 is thisproposal allowing maintainers to choose whether to build their packageswith GCC or Clang. This policy change may give maintainers some welcomeflexibility, but it has not proved entirely popular in the Fedoracommunity.
Stable kernels 5.11.17, 5.10.33, 5.4.115, 4.19.189, 4.14.232, 4.9.268, and 4.4.268 have been released. They all containimportant fixes and users should upgrade.
Security updates have been issued by Debian (chromium and shibboleth-sp), Fedora (ceph and salt), Oracle (thunderbird), Red Hat (etcd), Scientific Linux (nss and openldap), SUSE (curl, gdm, and libnettle), and Ubuntu (openjdk-8, openjdk-lts and underscore).
Yocto Project, a system to build embedded Linux distributions, releasedversion 3.3 "Hardknott". In this version all OE-Core recipes buildreproducibly regardless of host distro/build location except golang recipesand ruby's docs package. There are many more new features, upgrades, andbug fixes. The releasenotes have more details.
A filesystem's role is to store information and retrieve it in its originalform on request. But filesystems are also expected to prevent theretrieval of information by people who should not see it. That requirementextends to data that has been deleted; users expect that data to be trulygone and will not welcome its reappearance in surprising places. Some workbeing done with ext4 shows the kind of measures that are required to liveup to that expectation.
Security updates have been issued by Debian (gst-libav1.0, gst-plugins-bad1.0, gst-plugins-base1.0, and gst-plugins-ugly1.0), Fedora (kernel, kernel-headers, kernel-tools, and rust), openSUSE (firefox), Oracle (firefox, mariadb:10.3 and mariadb-devel:10.3, thunderbird, and xstream), Red Hat (kernel, kernel-alt, kpatch-patch, nss, and openldap), Scientific Linux (firefox, thunderbird, and xstream), SUSE (firefox), and Ubuntu (file-roller, firefox, and ruby2.7).
The Fedora 34release is now available. "This release features GNOME 40, thenext step in focused, distraction-free computing. GNOME 40 bringsimprovements to navigation whether you use a trackpad, a keyboard, or amouse. The app grid and settings have been redesigned to make interactionmore intuitive." LWN recently reviewed the Fedora 34 Workstationrelease.
Version 11.1 of the GCC compiler suite is out."This release switches the default debugging format to DWARF 5 on mosttargets and switches the default C++ language version to -std=gnu++17.It makes great progress in the C++20 language support, both on the compilerand library sides, adds experimental C++23 support, some C2X enhancements,various optimization enhancements and bug fixes, several new hardwareenablement changes and enhancements to the compiler back-ends and many otherchanges."
The Register reportson the death of security researcher Dan Kaminsky. "Though Kaminsky rose to fame in 2008 for identifying a critical design weakness in the internet's infrastructure – and worked in secret with software developers to mitigate the issue before it could be easily exploited – he had worked behind the scenes in the infosec world for at least the past two decades."
By the time the 5.12kernel was finally released, some 13,015 non-merge changesets had been pulled into the mainlinerepository for this development cycle. That makes 5.12 the slowestdevelopment cycle since 5.6, which was released at the end of March 2020.Still, there was plenty of work done for 5.12. Read on for our traditionallook at where that work came from and how it got into the kernel.
Linus Torvalds has released the 5.12kernel. "Thanks to everybody who made last week very calm indeed, which justmakes me feel much happier about the final 5.12 release."Headline features in 5.12 includethe removal of a number of obsolete, (mostly) 32-bit Arm subarchitectures,atomicinstructions for BPF,conditional file lookups with LOOKUP_CACHED,support for zoned block devices in the Btrfsfilesystem, threaded NAPI polling in the network stack,filesystem ID mapping,support for building the kernel with Clang link-timeoptimization,the KFENCEkernel-debugging tool, and more. See the LWN merge-window summaries(part 1, part 2) and the (in-progress) KernelNewbies 5.12 page formore information.
The University of Minnesota researchers who have stirred up the kernel community with varioustypes of bad patches have sentan open letter to the linux-kernel list. "This current incidenthas caused a great deal of anger in the Linux community toward us, theresearch group, and the University of Minnesota. We apologizeunconditionally for what we now recognize was a breach of the shared trustin the open source community and seek forgiveness for our missteps."
Many of us think that we operate busy web servers; LWN's server, forexample, sweats hard when keeping up with the comment stream thataccompanies any article mentioning the Rust programming language. But someorganizations run truly busy servers and have to take someextraordinary measures to keep up with levels of traffic that even languageadvocates cannot create. The SO_REUSEPORT socket option is one ofmany features that have been added to the network stack to help these usecases. SO_REUSEPORT suffers from an implementation problem that cancause connections to fail, though. Kuniyuki Iwashima has posted a patchset addressing this problem, but there is some doubt as to whether ittakes the right approach.