c't 22/2019
S. 38
aktuell
Linux 5.4
Aufmacherbild

Kernel-Log

Linux 5.4: exFAT-Unterstützung und Einschränkungen für Root

Die nächste Kernel-Version kann Verzeichnisse effizienter in virtuelle Maschinen hineinreichen. Sie führt zudem eine von manchen ungeliebte Sicherheitstechnik ein und spricht viele neue Grafikchips von AMD an.

Beim in der zweiten Novemberhälfte erwarteten Linux 5.4 stößt endlich Code zur Unterstützung von Microsofts exFAT-Dateisystem zum Kernel. Damit dürfte das Gros der Linux-Distributionen das bei Speicherkarten aktueller Foto- und Video-Kameras häufig anzutreffende Dateisystem bald endlich von Haus aus unterstützen. Bislang war exFAT-Support beim Kernel und einigen Distributionen bewusst außen vor geblieben, weil Patentklagen drohten. Diese Sorge ist jetzt weitgehend vom Tisch, weil Microsoft die exFAT-Patente und -Spezifikationen für Linux öffnet.

Derzeit sieht indes alles danach aus, als würde der jetzt aufgenommene exFAT-Support bald verworfen und durch eine neuere Codebasis ersetzt. Der integrierte, vor Jahren von Samsung freigegebene Code hat nämlich bekannte Qualitätsmängel und landete daher auch nur im Staging-Bereich. Rund um die Aufnahme stellte sich heraus, dass Samsung modernen und besseren Code zur exFAT-Unterstützung hat. Später erklärten Mitarbeiter des Unternehmens schließlich, bald eine Variante dieses „sdFAT“ genannten Codes in den offiziellen Kernel einbringen zu wollen.

Root begrenzen

Nach mehreren Entwicklungsjahren, Dutzenden Anläufen von zwei verschiedenen Programmierern und zahlreichen hitzigen Diskussionen hat Linus Torvalds endlich Patches zum „Kernel Lockdown“ integriert. Durch sie kann Linux selbst dem Root-Anwender einige Dinge verwehren, um die Sicherheit zu steigern.

Das ist vorwiegend zum Support von UEFI Secure Boot interessant, denn ohne solche Einschränkungen können Angreifer die Sicherheitstechnik leicht aushebeln. Das liegt an einigen veralteten und dieser Tage vielfach zweifelhaften Kernel-Treibern und -Funktionen, durch die der Root-Anwender letztlich überall im Arbeitsspeicher schreiben kann – und so in der Lage ist, den laufenden Kernel hinterrücks zu modifizieren.

Um derlei auf Secure-Boot-Systemen zu verhindern, enthalten die Kernel nahezu aller großen Distributionen schon lange Vorläufer der jetzt integrierten Änderungen. Letztere setzen aber etwas anders an und können die Sicherheit generell ein wenig verbessern. Der Sicherheitsgewinn bringt aber Nachteile mit sich, denn gängige Lockdown-Konfigurationen blockieren einige Funktionen, die manche Anwender schätzen – etwa das Laden unsignierter Kernel-Module oder den Ruhezustand (Hibernate).

Plattennutzung drosseln

Über den neuen Control-Group-I/O-Controller Blk-Iocost können Admins besser regeln, wie umfangreich Prozesse die Datenträger eines Systems beanspruchen dürfen. Damit lässt sich etwa verhindern, dass ein Container eine Festplatte oder SSD so stark mit Anfragen beschäftigt, dass andere Prozesse kaum mehr zum Zug kommen und extrem langsam laufen.

Für diese Problematik gibt es schon I/O-Controller, die allerdings allerlei Schwächen aufweisen. Diese verspricht der von einem Facebook-Entwickler eingebrachte Blk-Iocost zu vermeiden. Beispielsweise lässt sich damit das Leistungspotenzial der Datenträger leichter ausschöpfen, denn er drosselt erst, wenn tatsächlich Engpässe entstehen.

Host-Dateien weiterreichen

Das neue Virtio-Fs stellt einen weiteren Weg zur Verfügung, über den virtuelle Maschinen (VMs) ausgewählte Dateien oder Verzeichnisse des Hosts in ihrem Dateisystem bereitstellen können. Laut den Entwicklern soll die Lösung bald in VMs eine Zugriffsperformance erzielen, die nahe an jene direkt auf dem Host heranreicht. Das auf FUSE (Filesystem in Userspace) aufbauende Virtio-Fs soll damit das Plan 9 Filesystem Protocol (p9) ausstechen und beerben, das bislang meist für solch eine Einbindung genutzt wird.

Google-Entwickler haben Fs-Verity eingebracht, mit dem sich die Integrität von Dateien in schreibgeschützten Ext4- und F2FS-Dateisystemen sicherstellen lässt. Das soll offenbar bei Android zum Einsatz kommen, um das Basissystem vor Modifikationen zu schützen. F2FS kann fortan die Groß- und Kleinschreibung ignorieren, wie es Ext4 jüngst gelernt hat.

Das neue Device-Mapper-Target Dm-Clone kann in Sekundenschnelle einen Klon eines Device-Mapper-Volumes anlegen, der sofort nutzbar ist und die Daten nach und nach im Hintergrund vervielfältigt. Die Funktion ist dazu gedacht, um auf die Schnelle eine lokale VM auf Basis eines im Netz liegenden VM-Datenträger-Images zu erzeugen.

Torvalds programmiert

Linus Torvalds hat ausnahmsweise eigenhändig am Zufallszahlengenerator herumgeschraubt. Dadurch erzeugt der Pseudo Random Number Generator (PRNG) bei Engpässen nun neue Entropie, indem er die Ausführungsdauer von Prozessorbefehlen mit CPU-Cycle-Countern misst. Das geht ein in der Endphase der 5.3-Entwicklung viel diskutiertes Problem an: Dort kam der Startvorgang teilweise ins Stocken, weil Userspace-Anwendungen endlos auf neue Zufallszahlen warteten. Der für den Generator zuständige Entwickler und Torvalds kamen dabei nicht bei einer adäquaten Problemlösung überein, daher schritt der Linux-Vater jetzt kurzerhand selbst zur Tat und setzte seine Vorstellung um.

Eine ganze Reihe aktueller 64-Bit-Windows-Spiele, die bislang auf den neuesten AMD- und Intel-Prozessoren mit Wine & Co. bocken, sollen ab Linux 5.4 laufen: Diese Version zäumt eine Sicherheitstechnik, die bei solchen CPUs bislang dazwischenfunkt.

Treibersupport ausgebaut

Der neue Kernel unterstützt fünf GPUs von AMD, die alle in nächster Zeit auf den Markt kommen sollen. Darunter ist neben dem Navi12-Grafikchip auch der Navi14, der auf der dieser Tage vorgestellten Radeon RX 5500 sitzt (siehe S. 33); passende 3D-Treiber bringt Mesa 19.2 mit (siehe S. 40). Außerdem spricht Linux jetzt die für Beschleunigerkarten gedachte Arcturus-GPU an sowie die Grafikeinheiten der zwei im nächsten Jahr erwarteten Prozessoren mit den Codenamen Renoir und Dali.

Linux kann jetzt Lenovos PrivacyGuard aktivieren, das manche Thinkpad-Displays auf Knopfdruck in einen stark blickwinkelabhängigen Modus versetzt. Bild: Lenovo

Auch in anderen Arealen haben die Kernel-Entwickler den Hardware-Support erheblich verbessert, indem sie neue Treiber aufgenommen oder existierende erweitert haben. Die vielen Verbesserungen aufzuzählen, würde den Rahmen sprengen, daher nur einige Beispiele: Der Thunderbolt-Treiber unterstützt jetzt den Controller, den einige im Spätsommer angekündigten Ice-Lake-CPUs von Intel enthalten. Der Kernel kann nun die Temperatur von Ryzen-3000-CPUs abfragen. Der Treiber R8169 spricht jetzt auch Realteks 2.5-GBit/s-Ethernet-Chip RTL8125 an. Die Eingabegerätetreiber bringen Support für die Logitech Laser-Gaming-Mouse G700 und das von ihr verwendete Logitech-Wireless-Interface „Lightspeed“ mit.

Blickwinkel reduzieren

Der Thinkpad-Treiber unterstützt jetzt die PrivacyGuard genannte Funktion, die sich bei einigen Lenovo Thinkpads der Serien T480s, T490 und T490s findet; sie soll etwa im Zug vor neugierigen Blicken von der Seite schützen, indem sie den Monitor in eine stark blickwinkelabhänge Betriebsart schaltet, damit sich Inhalte nur bei Frontansicht klar erkennen lassen.

Neu dabei ist auch Basis-Support für den Qualcomm Snapdragon 855, der in einigen mit Windows ausgelieferten ARM-Notebooks sitzt. Zu dieser Geräteklasse gehören auch die mit Vorgängern des 855 ausgestatteten Asus NovaGo TP370QL, HP Envy X2, Lenovo Miix 630 und Lenovo Yoga C630, die Linux jetzt unterstützt – teilweise aber nur rudimentär.

Länger pflegen

Wenn bei der Entwicklung von Linux 5.4 alles wie gewohnt abläuft, sollte diese Version am 18. oder 25. November erscheinen. Nach derzeitiger Planung soll sie ein „Longterm Kernel“ werden. Solche werden nicht nur rund dreieinhalb Monate gepflegt, sondern mindestens zwei Jahre; jüngst wurde der Supportzeitraum bei den meisten solcher Kernel aber später noch auf sechs Jahre ausgedehnt. Ob das aber bei 5.4 der Fall sein wird, ist noch nicht absehbar.

Unklar ist auch, wann endlich Support für die von Torvalds und anderen herbeigesehnte VPN-Technik Wireguard in Linux einziehen kann. Der zuständige Entwickler hat diesbezüglich kürzlich eine neue Marschrichtung beim verwendeten Crypto-API angekündigt, um die Aufnahme wieder in die Gänge zu bringen. Kurz darauf wurde er aber von einem der wichtigsten Linux-Entwickler etwas zurückgepfiffen; ein anderer zeigte wenig später zudem noch einen weiteren Lösungsweg. Daher ist ziemlich unklar, wie genau es mit Wireguard jetzt weitergeht – auf jeden Fall sind damit die festgefahrenen Integrationsbemühungen wieder ins Rollen gekommen. (thl@ct.de)