[$] Four short stories about preempt_count()
([Kernel] Sep 18, 2020 14:49 UTC (Fri) (corbet))
The discussion started out as a [1]straightforward patch set from Thomas Gleixner making a minor change to how preemption counting is handled. The resulting discussion quickly spread out to cover a number of issues relevant to core-kernel development in surprisingly few messages; each of those topics merits a quick look, starting with how the preemption counter itself works. Sometimes a simple count turns out to not be as simple as it seems.
[1] https://lwn.net/ml/linux-mm/20200914204209.256266093@linutronix.de/
[1] https://lwn.net/ml/linux-mm/20200914204209.256266093@linutronix.de/
News from PHP: releases, features, and syntax
([Development] Sep 16, 2020 23:25 UTC (Wed) (coogle))
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.
GNOME 3.38 released
([Development] Sep 16, 2020 14:58 UTC (Wed) (corbet))
Version 3.38 of the GNOME desktop environment is out. " This release brings a new Welcome tour, improved grouping and reordering of applications in the overview, better fingerprint enrollment, deeper systemd integration, and more. " See [1]the release notes for details.
[1] https://help.gnome.org/misc/release-notes/3.38/
[1] https://help.gnome.org/misc/release-notes/3.38/
Security updates for Wednesday
([Security] Sep 16, 2020 14:49 UTC (Wed) (ris))
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).
Security updates for Tuesday
([Security] Sep 15, 2020 14:44 UTC (Tue) (ris))
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).
Moment.js announces legacy status
([Development] Sep 15, 2020 15:02 UTC (Tue) (coogle))
[1]Moment.js , the de facto standard JavaScript library for date and time manipulation, has [2]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 ", [3]Luxon , authored by long-time Moment.js contributor Isaac Cambron.
[1] https://momentjs.com
[2] https://momentjs.com/docs/#/-project-status/
[3] https://moment.github.io/luxon/
[1] https://momentjs.com
[2] https://momentjs.com/docs/#/-project-status/
[3] https://moment.github.io/luxon/
[$] The seqcount latch lock type
([Kernel] Sep 17, 2020 14:49 UTC (Thu) (corbet))
The kernel contains a wide variety of locking primitives; it can be hard to stay on top of all of them. So even veteran kernel developers might be forgiven 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 is only being formalized with a proper type declaration in 5.10. So this seems like a good time to look at what these locks are and how they work.
Security updates for Monday
([Security] Sep 14, 2020 14:56 UTC (Mon) (ris))
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
([Kernel] Sep 14, 2020 13:15 UTC (Mon) (corbet))
The [1]5.9-rc5 kernel prepatch is out for testing. " So aside from the smoke from the fires, and a performance regression I'm still looking at, things look normal. "
[1] https://lwn.net/Articles/831439/
[1] https://lwn.net/Articles/831439/
[$] BPF in GCC
([Development] Sep 15, 2020 23:46 UTC (Tue) (jake))
The [1]BPF virtual machine is being used ever more widely in the kernel, but it has not been a target for GCC until recently. BPF is currently generated using the LLVM compiler suite. Jose E. Marchesi gave a pair of presentations as part of the GNU Tools track at the [2]2020 Linux Plumbers Conference (LPC) that provided attendees with a look at the BPF for GCC project, which [3]started around a year ago. It has made some significant progress, but there is, of course, more to do.
[1] https://lwn.net/Articles/740157/
[2] https://linuxplumbersconf.org/2020/
[3] https://lwn.net/Articles/800606/
[1] https://lwn.net/Articles/740157/
[2] https://linuxplumbersconf.org/2020/
[3] https://lwn.net/Articles/800606/
Key signing in the pandemic era
([Distributions] Sep 16, 2020 23:19 UTC (Wed) (jake))
The pandemic has changed many things in our communities, even though distance has always played a big role in free software development. Annual in-person gatherings 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 and negatives to that outcome, of course, but some rethinking will be in order if that comes to pass. The process of key signing is something that may need to change as well; the Debian project, which uses signed keys, has been discussing the subject.
Lots of stable kernel updates
([Kernel] Sep 12, 2020 20:50 UTC (Sat) (corbet))
Today's crop of stable kernel updates includes [1]5.8.9 , [2]5.4.65 , [3]4.19.145 , [4]4.14.198 , [5]4.9.236 , and [6]4.4.236 . Each contains another set of important fixes.
[1] https://lwn.net/Articles/831365/
[2] https://lwn.net/Articles/831366/
[3] https://lwn.net/Articles/831367/
[4] https://lwn.net/Articles/831368/
[5] https://lwn.net/Articles/831369/
[6] https://lwn.net/Articles/831370/
[1] https://lwn.net/Articles/831365/
[2] https://lwn.net/Articles/831366/
[3] https://lwn.net/Articles/831367/
[4] https://lwn.net/Articles/831368/
[5] https://lwn.net/Articles/831369/
[6] https://lwn.net/Articles/831370/
Security updates for Friday
([Security] Sep 11, 2020 14:05 UTC (Fri) (jake))
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).
[$] Accurate timestamps for the ftrace ring buffer
([Kernel] Sep 22, 2020 21:29 UTC (Tue) (nevets))
The [1]function tracer (ftrace) subsystem has become an essential part of the kernel's introspection tooling. Like many kernel subsystems, ftrace uses a [2]ring buffer to quickly communicate events to user space; those events include a timestamp to indicate when they occurred. Until recently, the design of the ring buffer has led to the creation of inaccurate timestamps when events are generated from interrupt handlers. That problem has now been solved; read on for an in-depth discussion of how this issue came about and the form of its solution.
[1] https://www.kernel.org/doc/html/v5.8/trace/ftrace.html
[2] https://en.wikipedia.org/wiki/Circular_buffer
[1] https://www.kernel.org/doc/html/v5.8/trace/ftrace.html
[2] https://en.wikipedia.org/wiki/Circular_buffer
LWN.net Weekly Edition for September 17, 2020
Security updates for Thursday
([Security] Sep 10, 2020 13:33 UTC (Thu) (jake))
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).
Stable kernel updates
([Kernel] Sep 9, 2020 18:13 UTC (Wed) (ris))
Stable kernels [1]5.8.8 , [2]5.4.64 , [3]4.19.144 , and [4]4.14.197 have been released. They contain important fixes throughout the tree and users should upgrade.
[1] https://lwn.net/Articles/831088/
[2] https://lwn.net/Articles/831089/
[3] https://lwn.net/Articles/831090/
[4] https://lwn.net/Articles/831091/
[1] https://lwn.net/Articles/831088/
[2] https://lwn.net/Articles/831089/
[3] https://lwn.net/Articles/831090/
[4] https://lwn.net/Articles/831091/
Security updates for Wednesday
([Security] Sep 9, 2020 14:51 UTC (Wed) (ris))
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
([Distributions] Sep 8, 2020 21:37 UTC (Tue) (ris))
Android 11 has [1]been released with the source pushed to the [2]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. "
[1] https://android-developers.googleblog.com/2020/09/android11-final-release.html
[2] https://source.android.com/
[1] https://android-developers.googleblog.com/2020/09/android11-final-release.html
[2] https://source.android.com/
[$] Android kernel notes from LPC 2020
([Kernel] Sep 10, 2020 16:55 UTC (Thu) (corbet))
In its early days, the Android project experienced a high-profile disconnect with the kernel community. That situation has since improved considerably, but there are still differences between Android kernels and the mainline. As a result, it is not possible to run Android on a vanilla kernel. That situation continues to improve, though; much evidence to that effect was on display during the Android microconference at the 2020 [1]Linux Plumbers Conference . Several sessions there showed the progress that is being made toward unifying the Android and mainline kernels — and the places where there is still some work to be done.
[1] https://linuxplumbersconf.org/
[1] https://linuxplumbersconf.org/
Scotty: Captain, we din' can reference it!
Kirk: Analysis, Mr. Spock?
Spock: Captain, it doesn't appear in the symbol table.
Kirk: Then it's of external origin?
Spock: Affirmative.
Kirk: Mr. Sulu, go to pass two.
Sulu: Aye aye, sir, going to pass two.