Language Selection

English French German Italian Portuguese Spanish

LWN

Syndicate content
LWN.net is a comprehensive source of news and opinions from and about the Linux community. This is the main LWN.net feed, listing all articles which are posted to the site front page.
Updated: 38 min 14 sec ago

Security updates for Monday

2 hours 48 min ago
Security updates have been issued by Debian (aspell, graphite-web, imagemagick, mediawiki, milkytracker, nfs-utils, and openjdk-11), Fedora (kernel, kernel-headers, kernel-tools, mediawiki, and radare2), openSUSE (dhcp, libpcap, lighttpd, and tcpdump), Scientific Linux (java-1.8.0-openjdk), Slackware (python), SUSE (bluez, kernel, and python-xdg), and Ubuntu (aspell).

Kernel prepatch 5.4-rc4

4 hours 5 min ago
The 5.4-rc4 kernel prepatch is out for testing. "This release cycle remains pretty normal. In fact, the rc's have been a bit on the smaller side of the average of the last few releases, and rc4 continues this, if only barely."

[$] Implementing alignment guarantees for kmalloc()

Friday 18th of October 2019 09:52:44 PM
kmalloc() is a frequently used primitive for the allocation of small objects in the kernel. During the 2019 Linux Storage, Filesystem, and Memory Management Summit, Vlastimil Babka led a session about the unexpected alignment problems developers face when using this function. After a few months he has come back with the second version of a patch set implementing a natural alignment guarantee for kmalloc(). From the strong opposition it faced initially, it seemed that the change would not get accepted. However, it ended up in Linus Torvalds's tree. Let's explore what happened.

LTTng 2.11.0 "Lafontaine" released

Friday 18th of October 2019 02:53:21 PM
After more than two years of development, the Linux trace toolkit next generation (LTTng) project has released version 2.11.0 of the kernel and user-space tracing tool. The release covers the LTTng tools, LTTng user-space tracer, and LTTng kernel modules. It includes a number of new features that are described in the announcement including session rotation, dynamic user-space tracing, call-stack capturing for the kernel and user space, improved networking performance, NUMA awareness for user-space tracing buffer allocation, and more. "The biggest feature of this release is the long-awaited session rotation support. Session rotations now allow you to rotate an ongoing tracing session much in the same way as you would rotate logs. The 'lttng rotate' command rotates the current trace chunk of the current tracing session. Once a rotation is completed, LTTng does not manage the trace chunk archive anymore: you can read it, modify it, move it, or remove it. Because a rotation causes the tracing session’s current sub-buffers to be flushed, trace chunk archives are never redundant, that is, they do not overlap over time, unlike snapshots. Once a rotation is complete, offline analyses can be performed on the resulting trace, much like in 'normal' mode. However, the big advantage is that this can be done without interrupting tracing, and without being limited to tools which implement the 'live' protocol."

Five new stable kernels

Friday 18th of October 2019 02:15:14 PM
Greg Kroah-Hartman has announced the release of the 5.3.7, 4.19.80, 4.14.150, 4.9.197, and 4.4.197 stable kernels. All five contain important fixes throughout the kernel tree, as usual. Users of those series should upgrade.

Security updates for Friday

Friday 18th of October 2019 01:20:10 PM
Security updates have been issued by Debian (poppler, sudo, and wordpress), Oracle (java-1.8.0-openjdk), Red Hat (java-1.8.0-openjdk), Scientific Linux (java-1.8.0-openjdk, java-11-openjdk, and kernel), and SUSE (kernel and postgresql10).

Ubuntu 19.10 (Eoan Ermine) released

Thursday 17th of October 2019 10:09:52 PM
Ubuntu has announced the release of 19.10 "Eoan Ermine" in desktop and server editions as well as all of the different flavors: Ubuntu Budgie, Kubuntu, Lubuntu, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, and Xubuntu. "The Ubuntu kernel has been updated to the 5.3 based Linux kernel, and our default toolchain has moved to gcc 9.2 with glibc 2.30. Additionally, the Raspberry Pi images now support the new Pi 4 as well as 2 and 3. Ubuntu Desktop 19.10 introduces GNOME 3.34 the fastest release yet with significant performance improvements delivering a more responsive experience. App organisation is easier with the ability to drag and drop icons into categorised folders and users can select light or dark Yaru theme variants. The Ubuntu Desktop installer also introduces installing to ZFS as a root filesystem as an experimental feature." More information can also be found in the release notes.

[$] Really fixing getrandom()

Thursday 17th of October 2019 05:08:23 PM
The final days of the 5.3 kernel development cycle included an extensive discussion of the getrandom() API and the reversion of an ext4 improvement that was indirectly causing boot hangs due to a lack of entropy. Blocking filesystem improvements because they are too effective is clearly not a good long-term development strategy for the kernel, so there was a consensus that some sort of better solution had to be found. What was lacking was an idea of what that solution should be. It is thus surprising that the problem appears to have been dealt with in 5.4 with little in the way of dissent or disagreement.

Bazel 1.0 released

Thursday 17th of October 2019 02:23:16 PM
Google has announced version 1.0 of its Bazel build system. "A growing list of Bazel users attests to the widespread demand for scalable, reproducible, and multi-lingual builds. Bazel helps Google be more open too: several large Google open source projects, such as Angular and TensorFlow, use Bazel. Users have reported 3x test time reductions and 10x faster build speeds after switching to Bazel."

Security updates for Thursday

Thursday 17th of October 2019 01:27:50 PM
Security updates have been issued by Arch Linux (sudo), Debian (libsdl1.2 and libsdl2), Mageia (e2fsprogs, kernel, libpcap and tcpdump, nmap, and sudo), openSUSE (GraphicsMagick and sudo), Oracle (java-1.8.0-openjdk, java-11-openjdk, jss, and kernel), Red Hat (java-1.8.0-openjdk and java-11-openjdk), Scientific Linux (jss), SUSE (gcc7 and libreoffice), and Ubuntu (leading to a double-free, libsdl1.2, and tiff).

[$] LWN.net Weekly Edition for October 17, 2019

Thursday 17th of October 2019 12:25:53 AM
The LWN.net Weekly Edition for October 17, 2019 is available.

[$] WireGuard and the crypto API

Wednesday 16th of October 2019 09:38:05 PM
When last we looked in on the progress of the WireGuard VPN tunnel toward the mainline kernel, it seemed like the main sticking point had been overcome. The Zinc cryptography API used by WireGuard was generally seen as a duplication of effort with the existing kernel cryptographic algorithms, so an effort to rework Zinc to use that existing code seemed destined to route around that problem and bring WireGuard to the mainline. In the six months since then, though, things have gone fairly quiet in WireGuard-land; that all changed based on a conversation at the recent Kernel Recipes conference in Paris.

[$] FPGAs and free software

Wednesday 16th of October 2019 04:11:09 PM
The problems with field-programmable gate arrays (FPGAs) is not exactly an obvious talk topic for a graphics-related conference like the 2019 X.Org Developers Conference (XDC). Ben Widawsky acknowledged that, but said that he sees parallels in the situation with FPGA support in the free-software world and the situation with graphics hardware support in the past. It is his hope that the tools for developing with FPGAs can make the same journey that graphics drivers have made over the last two decades or so.

Security updates for Wednesday

Wednesday 16th of October 2019 02:37:20 PM
Security updates have been issued by Debian (apache2 and unbound), Fedora (opendmarc, runc, and sudo), openSUSE (epiphany, GraphicsMagick, and libopenmpt), Oracle (kernel and sudo), Red Hat (java-1.8.0-openjdk, jss, kernel, kernel-rt, and kpatch-patch), SUSE (crowbar-core, crowbar-openstack, grafana, novnc, openstack-keystone, openstack-neutron, openstack-neutron-lbaas, openstack-nova, openstack-tempest, python-pysaml2, python-urllib3, rubygem-chef, rubygem-easy_diff, sleshammer, libpcap, sudo, and tcpdump), and Ubuntu (aspell and libsdl1.2).

Perl 6 renamed to Raku

Tuesday 15th of October 2019 03:29:29 PM
The pull request changing the name of Perl 6 to Raku has been merged. See the full text for more information. "This document describes the steps to be taken to effectuate a rename of 'Perl 6' to 'Raku', as described in issue #81. It does not pretend to be complete in scope or in time. To change a name of a project that has been running for 19+ years will take time, a lot of effort and a lot of cooperation. It will affect people in foreseen and unforeseen ways." (Thanks to Sean Whitton)

Security updates for Tuesday

Tuesday 15th of October 2019 02:58:33 PM
Security updates have been issued by Debian (sudo and xtrlock), openSUSE (sudo), Red Hat (Single Sign-On), Slackware (sudo), SUSE (binutils, dhcp, ffmpeg, kernel, kubernetes-salt, sudo, and tcpdump), and Ubuntu (sudo).

KDE Plasma 5.17 released

Tuesday 15th of October 2019 01:18:43 PM
The KDE project has announced the release of version 5.17 of the Plasma desktop environment. "Night Color, the color-grading system that relaxes your eyes when the sun sets, has landed for X11. Your Plasma desktop also recognizes when you are giving a presentation, and stops messages popping up in the middle of your slideshow. If you are using Wayland, Plasma now comes with fractional scaling, which means that you can adjust the size of all your desktop elements, windows, fonts and panels perfectly to your HiDPI monitor."

Python 3.8.0 released

Monday 14th of October 2019 10:15:39 PM
Version 3.8.0 of the Python language has been released. New features include the controversial assignment expressions, positional-only arguments, the Vectorcall mechanism, and more; see the what's new in Python 3.8 document for more information.

PyPy 7.2 released

Monday 14th of October 2019 07:11:30 PM
Version 7.2 of PyPy, an implementation of the Python language, is out. With this release, Python 3.6 support is deemed ready: "This release removes the 'beta' tag from PyPy3.6. While there may still be some small corner-case incompatibilities (around the exact error messages in exceptions and the handling of faulty codec errorhandlers) we are happy with the quality of the 3.6 series and are looking forward to working on a Python 3.7 interpreter."

[$] Finding race conditions with KCSAN

Monday 14th of October 2019 06:13:07 PM
Race conditions can be some of the trickiest bugs to find. The resulting problems can be subtle, and reproducing the problem in order to track it down can be difficult or impossible; often code inserted to narrow down a race condition will cause it to stop manifesting entirely. A tool that can find race conditions automatically would thus be a valuable thing for the kernel community to have. In late September, Marco Elver announced a tool called KCSAN (the Kernel Concurrency Sanitizer) that does exactly that — and which has already found a number of real problems.

More in Tux Machines

Manjaro Linux 18.1.0 Juhraya Cinnamon - Spicy but sweet

You know how the popular saying goes. When it rains ... people drive slowly just to annoy you. But as it happens, I received a bunch of emails from people asking me two things: 1) Why have I not recently done any more Cinnamon reviews (other than Mint)? 2) When am I going to review the latest version of Manjaro 18.1 Juhraya? The answer to these question is: yes. At the same time! I decided to try Manjaro Cinnamon, not something I've done before, so it should be an interesting, refreshing and hopefully worthwhile exercise. The test box will be the same one I used for the Illyria Xfce test, so we can compare things in earnest - and accurately. This is an eight-book mixed Windows & Linux box, and it comes with UEFI, Intel graphics, 16 sweet partitions, and another instance of Manjaro that we won't touch in this review. Begin to start. Read more

Pacman 5.2 Release

We have a clear winner. Although I’m sure that at least half of those are in responses to bugs he created! He claims it is a much smaller proportion… And a new contributor in third. What has changed in this release? Nothing super exciting as far as I’m concerned, but check out the detailed list here. We have completely removed support for delta packages. This was a massively underused feature, usually made updates slower for a slight saving on bandwidth, and had a massive security hole. Essentially, a malicious package database in combination with delta packages could run arbitrary commands on your system. This would be less of an issue if a certain Linux distro signed their package databases… Anyway, on balance I judged it better to remove this feature altogether. We may come back to this in the future with a different implementation, but I would not expect that any time soon. Note a similar vulnerability was found with using XferCommand to download packages, but we plugged that hole instead of removing it! Read more

Programming: News About GNU Compiler (GCC 10)

  • GCC 10 Switches Arm's Scheduling-Pressure Algorithm For Better Performance

    A minor optimization was merged into GCC 10 last week for benefiting those on Arm compiling their code with the GNU Compiler Collection. Prominent Arm toolchain developer Wilco Dijkstra of Arm has changed the default scheduling-pressure algorithm used by their back-end with GCC

  • GCC 10 Has C++20 Concepts Support In Order

    Concepts is one of the big features of the forthcoming C++20 that extends the language's templates functionality to add type-checking to templates and other compile-time validation. The existing concepts support in GCC was updated to reflect differences between the years old technical specification and the version being introduced as part of C++20. After review, that C++20 concepts support was merged earlier this month for GCC 10 as well as the libstdc++ updates.

Qt 3D Discussed

  • Qt 3D Will Still Be Improved On Alongside Qt Quick 3D

    While Qt Quick 3D has been talked up a lot recently with The Qt Company's plans for that new 3D module inside the current Qt5 and future Qt6 tool-kits, Qt 3D itself is not going away. Qt Quick 3D will offer 3D support to Qt Quick via QML and C++ APIs but the existing Qt 3D support isn't going to be eliminated and in fact will be improved upon as we near the Qt 6.0 release in about one year's time.

  • The Future of Qt 3D

    As you will have read, a new module called Qt Quick 3D will begin offering 3D capabilities to Qt Quick via a QML API (and a planned C++ API for Qt 6). What does this mean for Qt 3D and where will it fit in the Qt ecosystem? Hopefully this blog post and the following one will help answer that question as well as give some insights into what we are working on in Qt 3D. This blog post will focus on the changes coming with Qt 5.x and the following article will details some of the research we are doing to improve Qt 3D on the Qt 6 timescale.

  • Qt 3D: One too many threads

    Qt 3D makes heavy use of threads, as a way to spread work across CPU cores and maximize throughput, but also to minimize the chances of blocking the main thread. Though nice on paper, the last case eventually leads to added complexity. Sometimes, there are just one too many threads. In the past, we’ve been guilty of trying to do too much within Qt 3D rather than assuming that some things are the developer’s duty. For instance there was a point in time where we’d compare the raw content of textures internally. The reason behind that was to handle cases where users would load the same textures several times rather than sharing one. This led to code that was hard to maintain and easy to break. Ultimately it provided convenience only for what can be seen as a misuse of Qt 3D, which was not the the original intention. We had similar systems in place for Geometries, Shaders… Part of the reason why we made such choices at the time was that the border between what Qt 3D should or shouldn’t be doing was really blurry. Over time we’ve realized that Qt 3D is lower level than what you’d do with QtQuick. A layer on top of Qt 3D would have instead been the right place to do such things. We’ve solved some of these pain points by starting work on Kuesa which provides assets collections.