Die Sicherheitslücken in aktuellen Prozessoren halten die Entwickler des Linux-Kernels weiterhin in Atem und bereiten Linus Torvalds schlechte Laune. Daneben bringt der Vorab-Kernel der Version 4.19 aber auch ein GPS-Subsystem und etliche Verbesserungen für Datei- und Netzwerkzugriffe.
Nicht nur wegen der jüngst bekannt gewordenen Sicherheitslücken bezeichnete Kernel-Chef Linus Torvalds den aktuellen Entwicklungszyklus als “frustrierend” [1]. Linux 4.19 sei zugleich eine ziemlich umfangreiche Release. Die Kernel Page Table Isolation Patches sichern bereits 64-Bit-Systeme gegen die Meltdown-Lücke ab, Kernel 4.19 erhält zudem Patches für 32-Bit-Systeme.
Zudem wurden eilig Patches für die jüngst entdeckte Foreshadow-Lücke (L1TF, [2]) eingereicht. Über sie können Prozesse über den Level-1-Cache von Intel-CPUs unberechtigt Speicher auslesen. Sie ist besonders in virtualisierten Umgebungen gefährlich, in denen Gastsysteme Zugriff auf den Host haben.
Besser getaktet
Um die geeigneten Takt-Einstellungen für die CPU zu finden, verwendet der Linux-Kernel einen Scheduler. Dessen Algorithmus haben die Entwickler nun so erweitert, dass er die benötigte Zeit der Echtzeit- und Deadline-Prozesse und Interrupts registriert und entsprechend die Taktung der CPU anpasst.
Zugleich kehrt die Schnittstelle zur Abfrage asynchroner Ein- und Ausgaben (Asynchronous I/O Polling Interface) wieder in den Kernel zurück. Torvalds hatte den Code beim ersten Einzug in Linux 4.18 begutachtet und war unzufrieden. Er flog daher zwischenzeitlich aus dem Kernel.
Greg Kroah-Hartman freut sich derweilen über das neue In-Kernel-GPS-Subsystem. Das soll “all die verrückten Out-of-Tree-Treiber zähmen, die seit Jahren zusammen mit einigen zusammengeschusterten Userspace-Implementierungen dort draußen herumfliegen”. Der Code eigne sich bislang zwar lediglich für GNSS-Empfänger (die Abkürzung bezeichnet das Global Navigation Satellite System), aber dies sei ein guter Anfang [3].
Auch für das Driver-Subsystem FSI (Flexible Support Interface) fand Kroah-Hartman lobende Worte. Für den High Fan Out Serial Bus gibt es ein neues Subsystem, wobei High Fan Out auf die Möglichkeit verweist, das digitale Signal für mehrere Empfänger zu splitten.
Aufräumarbeiten fiel Jprobes zum Opfer, ein Tracing-Mechanismus für Kernel-Funktionsaufrufe. Ihn hat inzwischen Ftrace abgelöst.
Mehr Echtzeit
Mit neuen Patches für den Netzwerkstack führen die Linux-Entwickler die Funktion Time-based Packet Transmission ein [4]. Damit lassen sich Zeiträume festlegen, in denen der Kernel Netzwerkpakete versenden soll. Das zielt vor allem auf Echtzeitsysteme ab, etwa im Bereich der Automobilproduktion. Dort soll es für eine zuverlässigere Datenübertragung sorgen und insbesondere verhindern, dass Pakete zu spät an ihrem Zielpunkt ankommen. Die Funktion folgt dabei dem Netzwerkstandard P802.1Qbv.
Die Entwickler des Netzwerkstacks nehmen es mit einem als Cake (Common Applications Kept Enhanced, [5]) bezeichneten Patchset mit den Verzögerungsproblemen hinter Routern in Heimnetzwerken auf. Cake sitzt direkt an der Schnittstelle zur Netzwerkhardware und entscheidet, welche Pakete bei der Protokollschnittstelle landen dürfen.
Die von Cake verwaltete Warteschleife soll mit Hilfe verschiedener Ansätze (etwa einer Diffserv-Auswertung, einem fairen Queue-Algorithmus und einem ACK-Filter) exzessives Puffern und somit auch Latenzprobleme vermeiden. Cake ist vor allem für den Einsatz auf Routern gedacht, etwa in dem Linux-basierten freien Firmware-Ersatz Open WRT.
Beschleunigte Zugriffe
Außerdem sortiert eine Skbprio (SKB Priority Queue) genannte Warteschleife die Traffic-Control-Pakete anhand des Inhalts des Socket-Buffer-Felds (SKB). Kommt es zu einer Überlastung, tritt Skbprio in Aktion, verwirft Pakete mit niedriger SKB-Priorität und leitet solche mit hoher Priorität weiter. Das schafft vor allem Entlastung bei DoS-Angriffen.
Ein neuer IO-Controller namens Blk-Iolatency soll dafür sorgen, dass die in Cgroups festgelegten Anwendungen bei Datenträgerzugriffen Latenzziele einhalten. Er trennt wichtige von unwichtigen Anwendungen, um bei ersteren Engpässe unter Last zu vermeiden. Treten Engpässe beim parallelen Zugriff auf Datenträger auf, drosselt er die Zugriffe der unwichtigeren Workloads.
Im Bereich Datenträger gibt es bereits seit Längerem mit dem Multiqueue Block IO Queueing Mechanism (Blk-Mq) die Möglichkeit, über das SCSI-Subsystem und dessen AHCI-Treiber über mehrere Warteschleifen auf Festplatten und SSDs zuzugreifen. Die Funktion wird jetzt für das SCSI-Subsystem aktiviert.
Btr-FS erlaubt es nun auch, Dateien mit Schreibrechten während eines nur lesenden Zugriffs zu defragmentieren. Die XFS-Entwickler haben indes weitere Möglichkeiten ergänzt, das Dateisystem im laufenden Betrieb zu reparieren.
Grafikabteilung
Der Einzug des virtuellen Grafiktreibers für die Kernel Virtual Machine (KVM) erlaubt es, über die Grafikserver X.org oder Wayland auf virtuelle Gastsysteme zuzugreifen – auch ohne Grafikkarten-Support. VKMS entstand im Rahmen von Googles Summer of Code und bietet bereits Verbindungen zu einem Display-Controller und einem Encoder. Der Code für VKMS landete zunächst in Linux Next. Die Entwickler dort wollen ihn vor einer Aufnahme in den Linux-Hauptzweig noch auf mögliche Verbesserungen hin abklopfen.
Um den freien Nouveau-Grafiktreiber blieb es in dieser Entwickungsrunde abgesehen von ein paar Bugfixes recht ruhig. Für Intels Treiber für Grafikchips gibt es Aktualisierungen, die unter anderem das Panel Self Refresh verbessern, bei dem der Treiber unabhängig von der CPU das Display bei unverändertem Bildinhalt aktualisiert und dadurch den Energieverbrauch bei Notebooks senkt.
Damit Linux Befehle von HDMI-CEC-fähigen Fernbedienungen auch über Displayport- und USB-C- an HDMI-Adapter weiterleiten kann, gibt es jetzt ein Patch für Version 4.19.
Auch beim freien Treiber für Grafikkarten von AMD warten in Linux 4.19 vergleichsweise wenige Neuerungen. Für die integrierte Grafikeinheit in den Raven Ridge genannten Accelerated Processing Units (APU) sollen einige neue Einstellungen Energie sparen. Werden diese nicht verwendet, deaktiviert der Code die Grafikeinheiten künftig komplett. Das kann der Fall sein, sobald eine externe Grafikkarte übernimmt.
Auch den Code für die Powerplay-Funktionen haben die Entwickler nochmals überarbeitet und optimiert. Der Treiber greift jetzt direkt auf die PCI-Express-Schnittstelle des Kernels zu und nutzt dafür nicht mehr die eigene.
Diese und weitere Änderungen lassen sich in der Vorabversion von Linux 4.19 testen, der Quellcode wartet wie gewohnt auf http://kernel.org.
Infos
-
Linus Torvalds Release-Mitteilung: http://lkml.iu.edu/hypermail/linux/kernel/1808.3/01014.html
-
Foreshadow-Lücke: https://foreshadowattack.eu
-
GPS-Subsystem: https://lkml.org/lkml/2018/8/18/225
-
Time-based Packet Transmission: https://lwn.net/Articles/748879/
-
LWN.net zu Cake: https://lwn.net/Articles/758353/





