Feed lwn LWN.net

Favorite IconLWN.net

Link https://lwn.net/
Feed http://lwn.net/headlines/rss
Updated 2024-11-24 02:45
[$] Saying goodbye to set_fs()
The set_fs() function dates back to the earliest days of the Linuxkernel; it is a key part of the machinery that keeps user-space andkernel-space memory separated from each other. It is also easy to misuseand has been the source of various security problems over the years; kerneldevelopers have long wanted to be rid of it. They won't completely get theirwish in the 5.10 kernel but, as the result of work that has been quietlyprogressing for several months, the end of set_fs() will be easilyvisible at that point.
PostgreSQL 13 released
Version 13 of the PostgreSQL database management system is out."PostgreSQL 13 includes significant improvements to its indexing and lookupsystem that benefit large databases, including space savings and performancegains for indexes, faster response times for queries that use aggregates orpartitions, better query planning when using enhanced statistics, and more.Along with highly requested features like parallelized vacuuming andincremental sorting, PostgreSQL 13 provides a better data managementexperience for workloads big and small, with optimizations for dailyadministration, more conveniences for application developers, and securityenhancements."
Security updates for Thursday
Security updates have been issued by Fedora (firefox, libproxy, mbedtls, samba, and zeromq), openSUSE (chromium and virtualbox), Red Hat (firefox and kernel), SUSE (cifs-utils, conmon, fuse-overlayfs, libcontainers-common, podman, libcdio, python-pip, samba, and wavpack), and Ubuntu (rdflib).
[$] LWN.net Weekly Edition for September 24, 2020
The LWN.net Weekly Edition for September 24, 2020 is available.
[$] OpenPGP in Thunderbird
It is a pretty rare event to see a nearly 21-year-old bug be addressed—manyprojects are nowhere near that old for one thing—but that is just what hasoccurred for the Mozilla Thunderbird emailapplication. An enhancementrequest filed at the end of 1999 asked for a plugin to support email encryption, but it has mostlylanguished since. The Enigmail plugin did comealong to fill the gap by providing OpenPGP support using GNU Privacy Guard (GnuPG or GPG), but wasnever part of Thunderbird.As part of Thunderbird 78,though, OpenPGP is now fully supported within the mail user agent(MUA).
Six stable kernels
Stable kernels 5.8.11, 5.4.67, 4.19.147, 4.14.199, 4.9.237, and 4.4.237 have been released with importantfixes. Users should upgrade.
[$] Removing run-time disabling for SELinux in Fedora
Disabling SELinuxis, perhaps sadly in some ways, a time-honored tradition for users of Fedora, RHEL, and other distributions that feature thesecurity mechanism. Over the years, SELinux has gotten easier to toleratedue to the hard work of its developers and the distributions, but there arestill third-party packages that recommend or require disabling SELinux inorder to function. Up until fairly recently, the kernel has supporteddisabling SELinux at run time, but that mechanism has been deprecated—inpart due to another kernel security feature. Now Fedora is planningto eliminate the ability to disable SELinux at run time in Fedora 34, which sparkedsome discussion in its devel mailing list.
Security updates for Wednesday
Security updates have been issued by openSUSE (libetpan, libqt4, lilypond, otrs, and perl-DBI), Red Hat (kernel-rt), Slackware (seamonkey), SUSE (grafana, libmspack, openldap2, ovmf, pdns, rubygem-actionpack-5_1, and samba), and Ubuntu (debian-lan-config, ldm, libdbi-perl, and netty-3.9).
[$] Python 3.9 is around the corner
Python 3.9.0rc2 was released on September 17, with the final version scheduled for October 5, roughly a year after the release of Python 3.8. Python 3.9 will come with new operators for dictionary unions, a new parser, two string operations meant to eliminate some longstanding confusion, as well as improved time-zone handling and type hinting. Developers may need to do some porting for code coming from Python 3.8 or earlier, as the new release has removed several previously-deprecated features still lingering from Python 2.7.
[$] Accurate timestamps for the ftrace ring buffer
The functiontracer (ftrace) subsystem has become an essential part of the kernel'sintrospection tooling. Like many kernel subsystems, ftrace uses a ring buffer toquickly communicate events to user space; those events include a timestamp toindicate when they occurred. Until recently, the design of the ring bufferhas led to the creation of inaccurate timestamps when events are generatedfrom interrupt handlers. That problem has now been solved; read on for anin-depth discussion of how this issue came about and the form of itssolution.
Linux Journal is Back
Linux Journal has returnedunder the ownership of Slashdot Media. "As Linux enthusiasts and long-time fans of Linux Journal, we were disappointed to hear about Linux Journal closing its doors last year. It took some time, but fortunately we were able to get a deal done that allows us to keep Linux Journal alive now and indefinitely. It's important that amazing resources like Linux Journal never disappear."
Firefox 81.0
Firefox 81.0 is out. This version allows you to control media from thekeyboard or headset, introduces the Alpenglow theme, adds ArcoForm support tofill in, print, and save supported PDF forms, and more. See the release notesfor details.
Security updates for Tuesday
Security updates have been issued by Mageia (mysql-connector-java), openSUSE (chromium, curl, libqt4, and singularity), Red Hat (bash and kernel), SUSE (python-pip and python3), and Ubuntu (busybox, ceph, freeimage, libofx, libpam-tacplus, linux, linux-aws, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-gcp, linux-gcp-4.15, linux-gke-4.15, linux-hwe, linux-oem, linux-oracle, linux-raspi2, linux-snapdragon, linux, linux-azure, linux-gcp, linux-oracle, novnc, and tnef).
Cook: Security things in Linux v5.7
Kees Cook catchesup with the security-related changes in the 5.7 kernel."The kernel’s Linux Security Module (LSM) API provide a way to writesecurity modules that have traditionally implemented various MandatoryAccess Control (MAC) systems like SELinux, AppArmor, etc. The LSM hooks arenumerous and no one LSM uses them all, as some hooks are much morespecialized (like those used by IMA, Yama, LoadPin, etc). There was not,however, any way to externally attach to these hooks (not even through aregular loadable kernel module) nor build fully dynamic security policy,until KP Singh landed the API for building LSM policy using BPF. With this,it is possible (for a privileged process) to write kernel LSM hooks in BPF,allowing for totally custom security policy (and reporting)."
Security updates for Monday
Security updates have been issued by Debian (inspircd and modsecurity), Fedora (chromium, cryptsetup, gnutls, mingw-libxml2, and seamonkey), openSUSE (ark, chromium, claws-mail, docker-distribution, fossil, hylafax+, inn, knot, libetpan, libjpeg-turbo, libqt4, librepo, libvirt, libxml2, lilypond, mumble, openldap2, otrs, pdns-recursor, perl-DBI, python-Flask-Cors, singularity, slurm_18_08, and virtualbox), SUSE (jasper, less, ovmf, and rubygem-actionview-4_2), and Ubuntu (sa-exim).
Kernel prepatch 5.9-rc6
The 5.9-rc6 kernel prepatch is out."The one thing that does show up in the diffstat is the softscrollremoval (both fbcon and vgacon), and there are people who want to savethat, but we'll see if some maintainer steps up. I'm not willing toresurrect it in the broken form it was in, so I doubt that will happenin 5.9, but we'll see what happens."
Precursor: an open-source mobile hardware platform
Andrew "bunnie" Huang has announced a newproject called "Precursor"; it is meant to be a platform for makers tocreate interesting new devices. "Precursor is unique in the opensource electronics space in that it’s designed from the ground-up to becarried around in your pocket. It’s not just a naked circuit board withconnectors hanging off at random locations: it comes fully integrated—witha rechargeable battery, a display, and a keyboard—in a sleek, 7.2 mm(quarter-inch) aluminum case." You can't get one yet, but thecrowdfunding push starts soon.
[$] Four short stories about preempt_count()
The discussion started out as a straightforwardpatch set from Thomas Gleixner making a minor change to how preemptioncounting is handled. The resulting discussion quickly spread out to covera number of issues relevant to core-kernel development in surprisingly fewmessages; each of those topics merits a quick look, starting with how thepreemption counter itself works. Sometimes a simple count turns out to notbe as simple as it seems.
Bottomley: Creating a home IPv6 network
James Bottomley has put together adetailed recounting of what it took to get IPv6 fully working on hisnetwork. "One of the things you’d think from the above is that IPv6always auto configures and, while it is true that if you simply plug yourlaptop into the ethernet port of a cable modem it will just automaticallyconfigure, most people have a more complex home setup involving a router,which needs some special coaxing before it will work. That means you needto obtain additional features from your ISP using special DHCPv6requests."
Security updates for Friday
Security updates have been issued by Arch Linux (chromium and netbeans), Oracle (mysql:8.0 and thunderbird), SUSE (rubygem-rack and samba), and Ubuntu (apng2gif, gnupg2, libemail-address-list-perl, libproxy, pulseaudio, pure-ftpd, samba, and xawtv).
Stable kernels 5.8.10, 5.4.66, and 4.19.146
Greg Kroah-Hartman has announced the release of the 5.8.10, 5.4.66, and 4.19.146 stable kernels. They containimportant fixes throughout the tree and users should upgrade.
GNOME's new versioning scheme
The GNOME Project has announced a change to its version-numbering scheme;the next release will be "GNOME 40"."After nearly 10 years of 3.x releases, the minor version number isgetting unwieldy. It is also exceedingly clear that we're not going to bumpthe major version because of technological changes in the core platform,like we did for GNOME 2 and 3, and then piling on a major UX change on topof that. Radical technological and design changes are too disruptive formaintainers, users, and developers; we have become pretty good at iteratingdesign and technologies, to the point that the current GNOME platform, UI,and UX are fairly different from what was released with GNOME 3.0, whilestill following the same design tenets."
[$] The seqcount latch lock type
The kernel contains a wide variety of locking primitives; it can be hard tostay on top of all of them. So even veteran kernel developers might beforgiven for being unaware of the "seqcount latch" lock type or its use.While this lock type has existed in the kernel for several years, it isonly being formalized with a proper type declaration in 5.10. So thisseems like a good time to look at what these locks are and howthey work.
Security updates for Thursday
Security updates have been issued by Fedora (dotnet3.1, kernel, mbedtls, and python35), Mageia (libraw), openSUSE (mumble), SUSE (libsolv, libzypp, and perl-DBI), and Ubuntu (libdbi-perl, libphp-phpmailer, mcabber, ncmpc, openssl, openssl1.0, qemu, samba, storebackup, and util-linux).
[$] LWN.net Weekly Edition for September 17, 2020
The LWN.net Weekly Edition for September 17, 2020 is available.
[$] News from PHP: releases, features, and syntax
As the PHP project nears its 8.0 release, which is currently slated for late November, there are a number of interesting things to report from its development mailing list. For one, the syntax of the attributes feature has finally been settled on after an acrimonious debate largely over the minutiae of the voting process. In addition, some releases were made and a new proposal to add any() and all() as core library functions was discussed.
[$] Key signing in the pandemic era
The pandemic has changed many things in our communities, even though distancehas always played a big role in free software development. Annual in-persongatherings for conferences and the like are generally paused at the moment,but even after travel and congregating become reasonable again,face-to-face meetings may be less frequent. There are both positives andnegatives to that outcome, of course, but some rethinking will be in orderif that comes to pass. The process of key signing is something that may needto change as well; the Debian project, which uses signed keys,has been discussing the subject.
GNOME 3.38 released
Version 3.38 of the GNOME desktop environment is out. "This release brings a new Welcome tour, improved grouping and reorderingof applications in the overview, better fingerprint enrollment, deepersystemd integration, and more." See the releasenotes for details.
Security updates for Wednesday
Security updates have been issued by Fedora (libssh, python35, and xen), Oracle (kernel), Red Hat (librepo and mysql:8.0), SUSE (perl-DBI), and Ubuntu (Apache Log4j, Apache XML-RPC, bsdiff, libdbi-perl, luajit, milkytracker, OpenJPEG, ruby-loofah, and ruby-websocket-extensions).
[$] BPF in GCC
The BPF virtual machine is beingused ever more widely in the kernel, but it has not been a target for GCC until recently. BPF is currently generated using the LLVMcompiler suite.Jose E. Marchesi gave a pair of presentations as part of the GNU Toolstrack at the 2020 LinuxPlumbers Conference (LPC) that provided attendees with a look at theBPF for GCC project, which started around ayear ago. It has made some significant progress, but there is, of course, more to do.
Moment.js announces legacy status
Moment.js, the de facto standard JavaScript library for date and time manipulation, has announced that "we would like to discourage Moment from being used in new projects going forward." The project cited multiple reasons for the recommendation. The first is that moment objects are mutable; another is the unnecessarily large size of the library when compared to other internationalization and time-zone support options available to modern browsers. According to the post, "we now generally consider Moment to be a legacy project in maintenance mode. It is not dead, but it is indeed done." The project offers multiple recommendations of alternative options, including "the evolution of Moment", Luxon, authored by long-time Moment.js contributor Isaac Cambron.
Security updates for Tuesday
Security updates have been issued by CentOS (dovecot), Debian (gnome-shell and teeworlds), Mageia (libetpan and zeromq), openSUSE (libxml2), Red Hat (chromium-browser and librepo), SUSE (compat-openssl098, firefox, kernel, openssl, and shim), and Ubuntu (gupnp).
[$] Modernizing the tasklet API
Tasklets offer a deferred-execution method in the Linux kernel; theyhave been available since the 2.3 development series. They allow interrupthandlers to schedule further work to be executed as soon as possible afterthe handler itself. The tasklet API has its shortcomings, but it has stayedin place while other deferred-execution methods, including workqueues, havebeen introduced. Recently, Kees Cook posted a security-inspired patchset (also including work from Romain Perier) to improve the taskletAPI. This change is uncontroversial, but it provoked a discussion thatmight lead to the removal of the tasklet API in the (not so distant)future.
Security updates for Monday
Security updates have been issued by CentOS (thunderbird), Debian (libproxy, qemu, and wordpress), Fedora (ansible, chromium, community-mysql, dotnet-build-reference-packages, dotnet3.1, drupal7, grub2, java-1.8.0-openjdk-aarch32, kernel, kernel-headers, kernel-tools, mingw-gnutls, php-symfony4, python-django, and selinux-policy), Gentoo (DBI, file-roller, gnome-shell, gst-rtsp-server, nextcloud-client, php, proftpd, qtgui, and zeromq), openSUSE (gimp, libjpeg-turbo, openldap2, python-Flask-Cors, and slurm), Oracle (.NET Core 3.1, dovecot, go-toolset:ol8, httpd:2.4, and kernel), Red Hat (dovecot, httpd24-httpd, httpd:2.4, and mysql:8.0), and Slackware (thunderbird).
Kernel prepatch 5.9-rc5
The 5.9-rc5 kernel prepatch is out fortesting. "So aside from the smoke from the fires, and a performanceregression I'm still looking at, things look normal."
Lots of stable kernel updates
Today's crop of stable kernel updates includes5.8.9,5.4.65,4.19.145,4.14.198,4.9.236, and4.4.236. Each contains another set ofimportant fixes.
[$] OpenPGP in Rust: the Sequoia project
In 2018, three former GnuPG developers began work on Sequoia, a new implementation of OpenPGP in Rust. OpenPGP is an open standard for data encryption, often used for secure email; GnuPG is an implementation of that standard. The GPLv2-licensed Sequoia is heading toward version 1.0, with a handful of issues remaining to be addressed. The project's founders believe that there is much to be desired in GnuPG, which is the de facto standard implementation of OpenPGP today. They hope to fix this with a reimplementation of the specification using a language with features that will help protect users from common types of memory bugs.
Security updates for Friday
Security updates have been issued by Debian (python-pip), Fedora (kernel, libX11, and xen), openSUSE (go1.14), Oracle (libcroco, php:7.3, and postgresql:10), Red Hat (chromium-browser and httpd:2.4), and SUSE (gimp, golang-github-prometheus-prometheus, kernel, libxml2, pdsh, slurm_20_02, slurm, slurm_18_08, and tomcat).
[$] Android kernel notes from LPC 2020
In its early days, the Android project experienced a high-profiledisconnect with the kernel community. That situation has since improvedconsiderably, but there are stilldifferences between Android kernels and the mainline. As a result, it isnot possible to run Android on a vanilla kernel. That situation continuesto improve, though; much evidence to that effect was on display during theAndroid microconference at the 2020 Linux Plumbers Conference.Several sessions there showed the progress that is being made towardunifying the Android and mainline kernels — and the places where there isstill some work to be done.
Security updates for Thursday
Security updates have been issued by Arch Linux (ark, gnupg, go, opendmarc, and python-django), Debian (libxml2), Gentoo (chromium), Oracle (librepo and thunderbird), Red Hat (dovecot and httpd:2.4), SUSE (avahi, kernel, and openldap2), and Ubuntu (xorg-server).
[$] LWN.net Weekly Edition for September 10, 2020
The LWN.net Weekly Edition for September 10, 2020 is available.
[$] Preparing for the realtime future
Unlike many of the previous gatherings of the Linux realtime developers, theirmicroconference at the virtual 2020 Linux PlumbersConference had a different feel about it. Instead of being about when and how to get thefeature into the mainline, the microconference had two sessions that looked at whathappens after the realtime patches are upstream. That has not quite happenedyet, but is likely for the 5.10 kernel, so the developers werelooking to the future of the stable realtime trees and, relatedly, plansfor continuous-integration (CI) testing for realtime kernels.
Stable kernel updates
Stable kernels 5.8.8, 5.4.64, 4.19.144, and 4.14.197 have been released. They containimportant fixes throughout the tree and users should upgrade.
[$] Lua in the kernel?
BPF is, of course, the language used fornetwork (and other) customization in the Linux kernel, but some people have been using the Lua language for the networking side of thatequation. Two developers from Ring-0Networks, Lourival Vieira Neto and Victor Nogueira, came to the virtualNetdev 0x14 topresentthat work. It consists of a framework to allow the injection of Lua scriptsinto the running kernel as well as two projects aimed at routers, oneof which is deployed on 20 million devices.
Security updates for Wednesday
Security updates have been issued by Debian (grunt), Fedora (ansible and geary), openSUSE (firefox, gettext-runtime, python-Flask-Cors, and thunderbird), Oracle (firefox and thunderbird), Red Hat (.NET Core 3.1), SUSE (kernel and libjpeg-turbo), and Ubuntu (gnutls28 and libx11).
Android 11 released
Android 11 has beenreleased with the source pushed to the Android Open Source Project (AOSP). "For developers, Android 11 has a ton of new capabilities. You’ll want to check out conversation notifications, device and media controls, one-time permissions, enhanced 5G support, IME transitions, and so much more. To help you work and develop faster, we also added new tools like compatibility toggles, ADB incremental installs, app exit reasons API, data access auditing API, Kotlin nullability annotations, and many others."
Rosenzweig: Fun and Games with Exposure Notifications
Alyssa Rosenzweig looksat getting the ExposureNotifications System protocol, developed by Apple and Google forfacilitating COVID-19 contact tracing on Android and iOS phones, running onGNU/Linux. "All in all, we end up with a Linux implementation ofExposure Notifications functional in Ontario, Canada. What’s next? Perhapssupporting contact tracing systems elsewhere in the world – patcheswelcome." The source code for liben isavailable "for any one who dares go near".
GStreamer 1.18.0 released
The GStreamer team has announceda major feature release of GStreamer. "The 1.18 release series addsnew features on top of the previous 1.16 series and is part of the API andABI-stable 1.x release series of the GStreamer multimediaframework." There is a lengthy list of highlights in the announcementand more details in the release notes.
[$] Conventions for extensible system calls
The kernel does not have just one system call to rename a file; instead,there are three of them: rename(),renameat(), and renameat2(). Each was added when theprevious one proved unable to support a new feature. A similar story hasplayed out with a number of system calls: a feature is needed that doesn'tfit into the existing interfaces, so a new one is created — again. At the2020 Linux Plumbers Conference,Christian Brauner and Aleksa Sarai ran a pair of sessions focused on thecreation of future-proof system calls that can be extended when the needfor new features arises.
Security updates for Tuesday
Security updates have been issued by Debian (imagemagick, lemonldap-ng, and zeromq3), Fedora (ark, cryptsetup, gnutls, kernel, kernel-headers, and kernel-tools), openSUSE (firefox, kernel, and thunderbird), Red Hat (cloud-init, go-toolset:rhel8, libcroco, librepo, php:7.3, postgresql:10, and thunderbird), SUSE (firefox and go1.14), and Ubuntu (linux, linux-aws, linux-aws-5.3, linux-aws-5.4, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-azure-5.4, linux-gcp, linux-gcp-4.15, linux-gcp-5.4, linux-gke-4.15, linux-gke-5.0, linux-gke-5.3, linux-hwe, linux-hwe-5.4, linux-kvm, linux-oem, linux-oem-osp1, linux-oracle, linux-oracle-5.4, linux-raspi, linux-raspi-5.4, linux-raspi2, linux-raspi2-5.3, linux-snapdragon and xorg-server, xorg-server-hwe-16.04, xorg-server-hwe-18.04).
...82838485868788899091...