4 év óta
The
fifth 5.14 prepatch is out for testing.
"Things are looking perfectly normal. Size is nominal, diffstat looks
pretty normal, and the changes are all in the usual places"
corbet
4 év óta
corbet
4 év óta
The memfd_secret() system call has, in one form or another, been
covered here since February 2020.
In the
beginning, it was a flag to
memfd_create(),
but its functionality was later moved to a separate system call. There
have been many changes during this feature's development, but its core
purpose remains the
same: allow a user-space process to create a range of memory that is
inaccessible to anybody else — kernel included. That memory can be used to
store cryptographic keys or any other data that must not be exposed to
others. This new system call was finally merged for the upcoming 5.14
release; what follows is a look at the form this call will take in the
mainline kernel.
corbet
4 év óta
Security updates have been issued by Debian (tomcat8), Mageia (bluez, exiv2, fetchmail, libsndfile, nodejs, php-pear, python-pillow, and rabbitmq-server), openSUSE (apache-commons-compress, balsa, djvulibre, mariadb, mysql-connector-java, nodejs8, opera, and spice-vdagent), Red Hat (ruby:2.7), SUSE (apache-commons-compress, djvulibre, java-11-openjdk, libsndfile, mariadb, nodejs8, and spice-vdagent), and Ubuntu (docker.io).
jake
4 év óta
The
Android
12 beta release first appeared in May of this year. As is almost
obligatory, this release features "the biggest design change in
Android's history"; what's an Android release without requiring
users to relearn everything? That historical event was not meant to
include one change that many beta testers are noticing, though: a kernel
regression that breaks a significant number of apps. This problem has just
been fixed, but it makes a good example of why preventing regressions can
be so hard and how the kernel project responds to them when they do happen.
corbet
4 év óta
Security updates have been issued by Debian (jetty9 and openexr), openSUSE (mariadb and virtualbox), Red Hat (go-toolset-1.15 and go-toolset-1.15-golang), SUSE (djvulibre and mariadb), and Ubuntu (opencryptoki).
jake
4 év óta
The LWN.net Weekly Edition for August 5, 2021 is available.
corbet
4 év óta
The
GPSD project provides a
daemon for communicating with various GPS devices in order to retrieve the
location information that those sensors provide. But the GPS satellites
also provide highly accurate time information that
GPSD can
extract for use by
Network Time
Protocol (NTP) servers. A bug in the GPSD code will cause time to
go backward in October, though, which may well cause some havoc if affected NTP
servers do
not get an update before then.
jake
4 év óta
We are pleased to announce that the Android Microconference has been accepted into the 2021 Linux Plumbers Conference. The past Android microconferences have been centered around the idea that it was primarily a synchronization point between the Android kernel team and the rest of the community to inform them on what they have been doing. With the help of last year’s focus on the Generic Kernel Image[1] (GKI), this year’s Android microconference will instead be an opportunity to foster a higher level of collaboration between the Android and Linux kernel communities. Discussions will be centered on the goal of ensuring that both the Android and Linux development moves in a lockstep fashion going forward.
Last year’s meetup achieved the following:
This year’s topics to be discussed include:
- Alignment issues between Android and Cgroups v2: Issues in refactoring Android’s use of cgroups to utilize cgroups v2
- Thermal: Issues around performance and thermal handling between the kernel and Android’s HAL
- Fuse/device-mapper/other storage: Discuss out-of-tree dm/storage drivers and how they might go upstream or better align with upstream efforts
- In kernel memory tracking: Tracking/account GPU (and other multi-device shared) memory and how it might fit with cgroups
- fw_devlink: Remaining fw_devlink issues to resolve, now that its enabled by default.
- Hermetic builds/Kbuild
- GKI updates: Whats new this year in GKI and where its going next year
- Rust in AOSP / Kernel / Binder: How Android is adopting rust for userland and potentially for kernel drivers
- Android Automotive OS Reference Platform: Details on recent Android Automotive work
- Community devboard/device Collaboration: Ways to better collaborate on enabling various devboard against AOSP, without needing close interlock with Google
Come and join us in the discussion of making Android a better partner with Linux.
We hope to see you there.
4 év óta
ris
4 év óta
Security updates have been issued by Debian (asterisk, libpam-tacplus, and wordpress), Fedora (buildah and podman), openSUSE (thunderbird and webkit2gtk3), Oracle (kernel and varnish:6), SUSE (kernel, kvm, and webkit2gtk3), and Ubuntu (libdbi-perl and php-pear).
ris
4 év óta
I've been chasing a crocus misrendering bug show in a qt trace.
The bottom image is crocus vs 965 on top. This only happened on Gen4->5, so Ironlake and GM45 were my test machines. I burned a lot of time trying to work this out. I trimmed the traces down, dumped a stupendous amount of batchbuffers, turned off UBO push constants, dump all the index and vertex buffers, tried some RGBx changes, but nothing was rushing to hit me, except that the vertex shaders produced were different.
However they were different for many reasons, due to the optimization pipelines the mesa state tracker runs vs the 965 driver. Inputs and UBO loads were in different places so there was a lot of noise in the shaders.
I ported the trace to a piglit GL application so I could easier hack on the shaders and GL, with that I trimmed it down even further (even if I did burn some time on a misplace */+ typo).
Using the ported app, I removed all uniform buffer loads and then split the vertex shader in half (it was quite large, but had two chunks). I finally then could spot the difference in the NIR shaders.
What stood out was the 965 shader had an if which the crocus shader has converted to a bcsel. This is part of peephole optimization and the mesa/st calls it, and sure enough removing that call fixed the rendering, but why? it is a valid optimization.
In a parallel thread on another part of the planet, Ian Romanick filed a MR to mesa https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12191 fixing a bug in the gen4/5 fs backend with conditional selects. This was something he noticed while debugging elsewhere. However his fix was for the fragment shader backend, and my bug was in the vec4 vertex shader backend. I tracked down where the same changes were needed in the vec4 backend and tested a fix on top of his branch, and the misrendering disappeared.
It's a strange coincidence we both started hitting the same bug in different backends in the same week via different tests, but he's definitely saved me a lot of pain in working this out! Hopefully we can combine them and get it merged this week.
Also thanks to Angelo on the initial MR for testing crocus with some real workloads.
4 év óta
Over on the Google Security Blog, Kees Cook
describes his vision for approaches to assuring kernel security in a more collaborative way. He sees a number of areas where companies could work together to make it easier for everyone to use recent kernels rather than redundantly backporting fixes to older kernel versions. It will take more engineers working on things like testing and its infrastructure, security tool development, toolchain improvements for security, and boosting the number of kernel maintainers:
Long-term Linux robustness depends on developers, but especially on effective kernel
maintainers. Although there is effort in the industry to
train new developers, this has been traditionally justified only by the "feature driven" jobs they can get. But focusing only on product timelines ultimately leads Linux into the
Tragedy of the Commons. Expanding the number of maintainers can
avoid it. Luckily the "pipeline" for new maintainers is straightforward.
Maintainers are built not only from their depth of knowledge of a subsystem's technology, but also from their experience with mentorship of other developers and code review. Training new reviewers must become the norm, motivated by making upstream review part of the job. Today's reviewers become tomorrow's maintainers. If each major kernel subsystem gained four more dedicated maintainers, we could double productivity.
jake
4 év óta
Neovim 0.5, the fifth major version of the
Neovim
editor, which descends from the venerable vi
editor by way of
Vim, was
released
on July 2. This release is the culmination of almost two years of work,
and it comes with some major features that aim to modernize the editing
experience significantly. Highlights include native support for the Language
Server Protocol (LSP), which enables advanced editing features for a wide variety of
languages, improvements to
its
Lua APIs for configuration and plugins, and better syntax highlighting
using Tree-sitter. Overall, the 0.5 release
is a solid upgrade for the editor; the improvements should
please the existing fan base and potentially draw in new users and contributors
to the project.
jake
4 év óta
Security updates have been issued by Arch Linux (chromium, nodejs, nodejs-lts-erbium, and nodejs-lts-fermium), Debian (pyxdg, shiro, and vlc), openSUSE (qemu), Oracle (lasso), Red Hat (glibc, lasso, rh-php73-php, rh-varnish6-varnish, and varnish:6), Scientific Linux (lasso), SUSE (dbus-1, lasso, python-Pillow, and qemu), and Ubuntu (exiv2, gnutls28, and qpdf).
ris
4 év óta
On his blog, Colin Watson has a
lengthy reflection on moving the code for Ubuntu's
Launchpad software-collaboration web application from Python 2 to Python 3. He looks at some of the problem areas for upgrading, both in general and for Launchpad specifically, some pain points that were encountered, lessons learned, and the nine known regressions that reached the Launchpad production code during the process.
I’m not going to defend the Python 3 migration process; it was pretty rough in a lot of ways. Nor am I going to spend much effort relitigating it here, as it's already been done to death elsewhere, and as I understand it the core Python developers have got the message loud and clear by now. At a bare minimum, a lot of valuable time was lost early in Python 3's lifetime hanging on to flag-day-type porting strategies that were impractical for large projects, when it should have been providing for "bilingual" strategies (code that runs in both Python 2 and 3 for a transitional period) which is where most libraries and most large migrations ended up in practice. For instance, the early advice to library maintainers to maintain two parallel versions or perhaps translate dynamically with 2to3 was entirely impractical in most non-trivial cases and wasn't what most people ended up doing, and yet the idea that 2to3 is all you need still floats around Stack Overflow and the like as a result. (These days, I would probably point people towards something more like
Eevee's porting FAQ as somewhere to start.)
jake
4 év óta
The kernel-development community is a busy place, with thousands of emails
flying by every day and many different projects under development at any
given time. Much of
that work ends up inspiring articles at LWN, but there is no way to ever
cover all of it, or even all of the most interesting parts. What follows
is a first attempt at what may become a semi-regular LWN feature: a quick look
at some of the work that your editor is tracking that may or may not show
up as the topic of a full article in the future. The first set of topics
includes memory folios, task isolation, and a lightweight threading
framework from Google.
corbet
4 év óta
Version 2.34 of the GNU C library has been released. Significant changes
include the folding of libpthread, libdl, libutil, and libanl into the main
library, support for 64-bit (year-2038 safe) times on 32-bit systems,
support for the close_range() system call, a handful of security
fixes, and many other changes.
corbet
4 év óta
ris
4 év óta
Security updates have been issued by Arch Linux (389-ds-base, consul, containerd, geckodriver, powerdns, vivaldi, webkit2gtk, and wpewebkit), Debian (aspell, condor, libsndfile, linuxptp, and lrzip), and Fedora (bluez, buildah, java-1.8.0-openjdk, java-11-openjdk, java-latest-openjdk, kernel, kernel-tools, mbedtls, mingw-exiv2, mingw-python-pillow, mrxvt, python-pillow, python2-pillow, redis, and seamonkey).
ris