Zum Hauptinhalt Zur Navigation

Kernel: Linux 5.10 sichert ARM und Android besser ab

Das aktuelle Linux 5.10 behebt außerdem weitere Fehler für das Jahr-2038-Problem, bootet RISC-V auf EFI-Systemen und bietet Langzeitpflege.
/ Sebastian Grüner , Kristian Kißling (Linux Magazin)
Kommentare News folgen (öffnet im neuen Fenster)
Linux 5.10 ist erschienen. (Bild: Pixabay)
Linux 5.10 ist erschienen. Bild: Pixabay

Linus Torvalds hat die Version 5.10 des freien Linux-Kernel veröffentlicht. Damit ist die Entwicklung von Linux 5.10 offiziell fertiggestellt und das Merge-Window ist für Kernel-Version 5.11 offen. Letzteres wird allerdings wegen der anstehenden Weihnachtsfeiertage wohl kürzer als üblich, wie der Chefentwickler in der Ankündigung(öffnet im neuen Fenster) schreibt. Er gab zugleich bekannt, hier strenger als sonst üblich Neuerungen abzulehnen.

Der aktuelle Linux-Kernel 5.10 unterstützt die ARM Memory Tagging Extensions (MTE). Dabei handelt es sich um eine Befehlssatzerweiterung von ARMv8.5. Ziel der MTE ist es, das Ausnutzen der vielen verschiedenen und vor allem häufigen Speicherfehler in C- und C++-Code deutlich zu erschweren oder ganz und gar zu verhindern, indem derartige Fehler eben mit Hilfe der CPU erkannt werden.

Die Betreuer hoffen, damit unter anderem Use-After-Free-Lücken (UAF) im laufenden Betrieb für Userspace-Anwendungen erkennen zu können. Als eines der ersten großen Open-Source-Projekte wird wohl künftig Android auf die Nutzung der MTE setzen . Das hat das Sicherheitsteam von Google bereits im vergangenen Jahr angekündigt.

Im Zuge der Beschreibung einer gravierenden iPhone-Lücke weist der Sicherheitsforscher Ian Beer für Googles Project Zero(öffnet im neuen Fenster) allerdings darauf hin, dass dieser Schutz nur für kommende CPUs mit den MTE genutzt werden könne. Darüber hinaus gebe es wohl auch weiter zahlreiche Lücken für erfolgreiche Angriffe.

Mit Linux 5.10 unterstützt der Kernel außerdem erstmals den Start von RISC-V-Systemen mit EFI. Inwiefern sich die EFI-Nutzung im RISC-V-Ökosystem durchsetzt, müssen die kommenden Jahre zeigen. AMDs Verschlüsselung für die Virtualisierung (SEV) unterstützt nun auch die Verschlüsselung Prozessor-Register von Gast-Systemen.

Zeitstempel gut genug bis 2468

Die grundlegenden Lösungen für das Jahr-2038-Problem hat das Kernel-Entwicklerteam bereits mit Linux 5.6 gelöst . Neu hinzugekommen sind aber einige weitere Patches für Zeitstempel in Dateisystem XFS(öffnet im neuen Fenster) . Diese sind nun bis ins Jahr 2468 fehlerlos nutzbar.

Das OverlayFS-Dateisystem, das etwa für Container-Abbilder besonders beliebt ist, unterstützt es nun, den Systemaufruf fsync() komplett zu ignorieren. Das wird zwar als gefährlich beschrieben(öffnet im neuen Fenster) , da das Dateisystem im Zweifel beschädigt wird und beim Bauen von Container-Images keine Zwischenstände auf dem Festspeicher landen. Letzeres sei aber erst für die oberste Schicht notwendig und könne deshalb ignoriert werden. Das Bauen der Abbilder wird dadurch schneller.

Dank der neuen Fast-Commit-Funktion von Ext4(öffnet im neuen Fenster) soll sich die Latenz für Dateisystem-Operationen deutlich verringern. Das wiederum soll zu massiven Geschwindigkeitsverbesserungen führen. Benchmarks in den Patches zufolge liegen die Verbesserungen zwichen 50 und gar 200 Prozent.

Mit der Mount-Option nosymfollow soll außerdem verhindert werden können, dass bei der Pfadauflösung symbolischen Links in eingehängten Dateisystemen gefolgt wird. Die Verknüpfungen selbst können aber weiter erstellt und durch Userspace-Programme genutzt werden. Die BSD-Systeme bieten ähnliches schon länger. Google hat dies nun für ChromeOS in Linux umgesetzt(öffnet im neuen Fenster) .

Mit Innovationen wartet auch der NFS-Daemon Nfsd(öffnet im neuen Fenster) auf. Entwicklerin Anna Schumaker hat ihn um die Möglichkeit erweitert, eine Antwort des Typs READ PLUS zu liefern. Das erlaubt es dem Server, auf Anfrage hin ein Array an Daten sowie sogenannte Hole Extents zurückzugeben. Auch Btrfs lässt sich nun dank neuer Sysfs-Exporte, die einen exklusiven Operationsstatus für das Dateisystem liefern, umfassender überwachen. Daneben gibt es Performance-Verbesserungen an Fsync.

BPF-Programme schlafen legen

Verbessert hat das Team darüber hinaus die In-Kernel-VM BPF. Dafür erstellte Programme können nun schlafen gelegt werden(öffnet im neuen Fenster) , beziehungsweise kann BPF selbst darüber informiert werden, dass die Programme schlafen. BPF ist bisher schlicht nicht darauf ausgelegt, dass dies geschieht. Beschränkt ist dies zunächst auf BPF-Anwendungen für Tracing- und Sicherheitsfunktionen.

Der aktuelle Kernel enthält außerdem Patches, die die bisherigen Sicherheitsvorkehrungen gegen Spectre, die sogenannten Retpolines, ersetzen können. Die sogenannten statischen Aufrufe (Static Calls) sollen den Schutz deutlich beschleunigen.

Bessere Systemaufrufe und Interna

In Linux 5.10 erstmals umgesetzt wurde außerdem eine nicht-blockierende Ring-Buffer für printk() . Dieser Patch bildet die Grundlage für eine Vielzahl von Verbesserungen in diesem Bereich.

Entwickler Christian Brauner setzte derweil seine Arbeit an verschiedenen Syscalls für Linux fort. So erleichtert eine neue Erweiterung für pidfd_open() das asynchrone Prozessmanagement in Programmiersprachen wie Rust. Zugleich flog der _do_fork() -Helper aus dem Kernel; er wurde durch die die Hilfsfunktion kernel_clone() ersetzt.

Beim Power Management lieferte Rafael Wysocki Updates: Eine Reihe von cpufreq -Treibern unterstützt nun neue Hardware, und das Power-Management sammelt auch cpufreq -Statistiken, wenn im Governor Fast-Frequency-Switching aktiviert ist.

In Sachen USB4 und Thunderbolt bleiben die Kernel-Entwickler ebenfalls am Ball: Die aktuellen Änderungen betreffen auch hier das Power-Management. Es gibt daneben neuerdings DebugFS-Support sowie einige Optimierungen für die Tiger-Lake-Plattform(öffnet im neuen Fenster) .

Upstream-Support für das Librem 5 und Gardena

Der größte Teil der Patches in Linux 5.10 umfasst Treiber und Hardware-Support für eine Vielzahl diverser Geräte. Die Ausbaumaßnahmen im Grafikbereich(öffnet im neuen Fenster) gab es in der aktuellen Entwicklungsrunde etwa am Intel-Treiber i915. Sie betreffen unter anderem den Support für Tiger Lake und Rocket Lake. Der AMDGPU-Treiber bringt Neuerungen für "Sienna Cichlid" und "Navy Flounder" mit, also für AMDs Next-Generation-GPUs Navi 21 und Navi 22. Letztere sollen in neuen Highend-Grafikkarten der AMD-Radeon-RX-6800-Reihe zum Einsatz kommen. Der freie Nvidia-Treiber Nouveau hingegen erhielt Updates für Displayport.

Auch einen größeren Schwung neuer ARM-Hardware unterstützt Linux 5.10. Dank des Device-Tree-Update für i.MX8MP-basierte Boards unterstützt Linux nun auch das Librem 5 im Upstream-Kernel(öffnet im neuen Fenster) . Ein weiteres Update für i.MX6SL-basierte Boards liefert Unterstützung etwa für den E-Book-Reader Tolino Shine 2 HD. Gartenfreunde dürfen sich über Code für Gardenas Smart Gateway freuen, der im AT91-Device-Tree landete(öffnet im neuen Fenster) . Das dafür zuständige Team bei Gardena verfolgt einen offensiven Open-Source-Kurs , was sich unter anderem wieder in diesem Beitrag zeigt.

Der Code für Linux 5.10 steht wie üblich auf Kernel.org bereit. Die aktuelle Version erhält außerdem Langzeitpflege (LTS), wie der dafür zuständige Betreuer Greg Kroah-Hartman bereits angekündigt hatte. Die aktuelle Version wird damit wohl bis Ende 2026 mit Updates und Bug-Fixes versorgt.


Relevante Themen