Kernel: Linux 5.11 unterstützt Intels SGX
Linus Torvalds hat die Version 5.11 des freien Linux-Kernels veröffentlicht. Damit ist die Entwicklung von Linux 5.11 offiziell fertiggestellt und das Merge-Window für Kernel-Version 5.12 offen. Neu hinzugekommen ist die Unterstützung von Intels Software Guard Extensions (SGX). Die Hardware schiebt dabei bestimmten Code oder Daten in sogenannte Enklaven und schützt sie vor Zugriffen und Änderungen von außen. In solchen Enklaven landen etwa Schlüssel und Passwörter, ein mögliches Nutzungsszenario ist etwa das Speichern von Schlüsseln für DRM-geschützte Inhalte.
Wie sicher SGX tatsächlich ist, darüber lässt sich streiten: Vor kurzem gelang es Forschern mit Hilfe von 30-Dollar-Equipment und bei direktem Zugriff auf die Hardware, RSA-Schlüssel aus den Enklaven auszulesen. Zumindest laut Intels Marketingabteilung hätte das nicht möglich sein dürfen.
Üblicherweise muss Software für den Einsatz mit den Enklaven angepasst werden, aber in kleinem Rahmen soll auch unmodifizierte Software in den Enklaven laufen können. Der Code für die neue Funktion ist im Kernel(öffnet im neuen Fenster) größtenteils im neuen Verzeichnis arch/x86/kernel/cpu/sgx/ zu finden.
Weitere Verbesserungen für x86
Auf Dell-Geräten lassen sich die Bios-Einstellungen dank eines neuen Treibers nun direkt aus Linux heraus beeinflussen(öffnet im neuen Fenster). Dabei hilft ein neues generisches Sysfs-API, das wohl künftig auch Lenovo verwenden will. Für Intels Platform Monitoring Technology (PMT) warten in Kernel 5.11 Telemetrie- und Crashlog-Treiber. Ein besserer Support für Microsofts Surface-Hardware ist ebenfalls in Arbeit.
Von Linux-Entwickler Thomas Gleixner kommen unter anderem Updates für den Umgang mit Systemaufrufen(öffnet im neuen Fenster). So ersetzt das Thread Information Flag (TIF) TIF_NOTIFY_SIGNAL einen bisherigen ineffizienteren Modus zur Signalübertragung, was die Performance von IO-Uring deutlich steigern soll.
Virtualisierung ausgebaut
Andra Paraschiv verbesserte Vsock(öffnet im neuen Fenster), das eine Kommunikation zwischen virtuellen Maschinen und ihrem Host ermöglicht. Ein zusätzliches Feld für Flags soll es ermöglichen, Vsock dynamischer an den jeweiligen Einsatzzweck anzupassen. Denn tatsächlich macht es einen Unterschied, ob sich über das Interface eingebettete VMs oder Zwillings-VMs, die auf demselben Host laufen, unterhalten sollen. Das Flags-Feld soll wahlweise in der Verbindungsanfragelogik einer Userspace-Anwendung oder in der Empfangslogik des Kernelspace zum Einsatz kommen.
Im Bereich der Virtualisierung gab es weitere Neuerungen(öffnet im neuen Fenster), wobei die KVM-Funktionen mehrheitlich die ARM-Plattform betrafen. Dennoch profitierten auch x86-Architekturen an einigen Stellen. So unterstützt die Virtualisierungslösung nun AMDs Secure Encrypted Virtualization-Encrypted State (SEV-ES) und leitet Informationen zu Dirty Pages über den Ringpuffer an den Userspace weiter. Außerdem kennt KVM seit neuestem ein CPU-Feature namens AVX512 FP16.
Zusätzlich zu KVM bietet der Linux-Kernel das Virtio-Framework, das sich um die Ein- und Ausgabevirtualisierung kümmert. Für Virtio-Mem gibt es ab Kernel 5.11 einen Big-Block-Modus. Von den Machern der Virtualisierungslösung Xen kamen diesmal hingegen keine Aktualisierungen.
Schnelleres Seccomp und Windows-Filter
Kees Cook bewarb in seinem Merge Request für Seccomp die neuen Constant Action Bitmaps(öffnet im neuen Fenster). Die Aufgabe von Seccomp besteht darin, eingehende Syscalls zu filtern, um auf diesem Weg nur die nötigsten Kernel-Schnittstellen zu involvieren und die Angriffsfläche kleinzuhalten. Mit den neuen Bitmaps soll Seccomp den internen Overhead für den Umgang mit verschiedenen Syscall-Filtern deutlich reduzieren.
Der Linux-Kernel enthält nun außerdem einen Filter, um Windows-Systemaufrufe zu erkennen. Genutzt wird das für Projekte wie Wine, die Windows-Systemaufrufe emulieren, aber auch selbst native Systemaufrufe ausführen. Moderne Windows-Anwendungen nutzen aber anders als bisher auch vermehrt selbst Systemaufrufe. Diese können nun unter Linux erkannt und etwa zurück an Wine geleitet werden, was dieses dann emuliert.
Von Maintainer Herbert Xu kommen einige Updates für den Verschlüsselungsbereich(öffnet im neuen Fenster), die das API und die Performance von Algorithmen verbessern. Auch einige Treiber für Krypto-Algorithmen und -Engines hatte Xu im Gepäck, etwa für den Pseudozufallszahlengenerator von HiSilicon.
Signaturabgleich für Device Mapper
Der Device Mapper (DM) ist ein Kernel-Treiber, der ein Framework anbietet, um physische blockorientierte auf virtuelle blockorientierte Geräte zu mappen. Er dient unter anderem als Basis für das Logical Volume Management und hilft beim Aufsetzen von Software-RAIDs und beim Verschlüsseln von Festplatten. Neu in Kernel 5.11 ist laut Mike Snitzer der DM-Verity-Support(öffnet im neuen Fenster), der einen Signaturabgleich über einen zweiten Trusted Keyring ermöglicht. Außerdem wählt ein neuer I/O-abhängiger Path Selector seine Pfade abhängig von denjenigen CPUs, die eine bestimmte I/O-Workload prozessieren.
Ebenso kündigte Mike Snitzer eine weitere Notfalländerung am MD-RAID-Code(öffnet im neuen Fenster) (Multiple Devices) an, um einen Fehler der vorherigen Kernelversion zu beheben. Kurz vor dem Release von Linux 5.10 hatte sich gezeigt, dass zuvor eingeführte RAID10-Optimierungen unter Umständen zu fehlerhaftem RAID-Verhalten führen. Daher wurden die Änderungen eilig zurückgenommen.
Bei einigen Dateisystemen lief es in der aktuellen Runde etwas ruhiger. So meldeten die Ext4-Entwickler gar keine neuen Features. Die XFS-Macher führten hingegen das neue Flag(öffnet im neuen Fenster) needsrepair ein, das deutlich macht, dass ein Dateisystem ein Xfs-Repair durchlaufen sollte. Das ist etwa der Fall im Zuge von Dateisystem-Upgrades.
Die F2FS-Entwickler um Jaegeuk Kim verbesserten die Einzeldatei-Kompression(öffnet im neuen Fenster). Für diese legen Kernel-Nutzer bei Bedarf künftig den verwendeten Algorithmus und die Cluster-Größe pro Datei fest. Über eine neue Mount-Option bestimmen sie zudem, welcher User die Daten komprimieren darf. Dank eines Checksummen-Features beim Mounten entdeckt XFS zudem korrupte Cluster.
In einem ausführlichen Statusbericht wies Btrfs-Entwickler David Sterba(öffnet im neuen Fenster) derweilen auf Performance-Optimierungen und neue Funktionen hin. Für Benutzer sichtbar sind die neuen Rescue-Mount-Optionen, die auch Sysfs abbildet. Sie erlauben es dem Dateisystem, im Schadensfall fehlerhafte Tree Roots und Checksummen-Verifizierungen zu ignorieren. Auch die Vorbereitungen für den Aufbau des Zoned-Allocation-Modus sind im Gange.
Auch an den Overlay-Dateisystemen hat sich im aktuellen Releasezyklus etwas getan(öffnet im neuen Fenster). Fuse, das Filesystem in Userspace, verbessert die Performance von "virtio-fs" bei gemischten Lese- und Schreib-Workloads. Dieses Dateisystem teilen sich Host und Gäste in Virtualisierungsszenarien. OverlayFS erlaubt neuerdings Mounts(öffnet im neuen Fenster) für nichtprivilegierte Anwender im User-Namespace: Geben Letztere die Option -o userxattr an, verwendet OverlayFS neuerdings den Xattr-Namespace anstatt trusted.overlay.
Mit Samba besser vernetzt
Wer im lokalen Netzwerk Dateien zwischen Windows- und Linux-Rechnern austauschen möchte, dürfte sich für die Änderungen an CIFS/SMB3 interessieren. Das unterstützt jetzt ein neueres Mount-API(öffnet im neuen Fenster), das den Umgang mit Remounts optimiert und ein besseres Fehler-Reporting ermöglicht. Der Support für das Witness-Protokoll von SMB3 liefert die Grundlage, um genauere Informationen über die Geschehnisse im Samba-Netzwerk zu erhalten, etwa, wenn sich eine IP-Adresse ändert. Künftig soll es auch über modifizierte Shares informieren.
Für das Network File System (NFS) gab es Updates auf der Client- und der Server-Seite(öffnet im neuen Fenster). Während der Client die Readdir-Performance und NFSv3 das Öffnen von Dateien über Filehandle verbesserten, wollen die Entwickler das Exportieren eines NFS-Mounts über NFSD wieder zu einem Erste-Klasse-Feature machen. Ziel der Übung sei es, den im Kernel verankerten NFS-Server als Zwischenlager für einen entfernt arbeitenden primären NFS-Server zu nutzen. Zugleich ist eine erste Implementierung von RPC/RDMA für den Linux-eigenen NFS-Server in trockenen Tüchern.
Für das verteilte Dateisystem Ceph(öffnet im neuen Fenster) gibt es hingegen vor allem eine große Änderung im Sicherheitsbereich: Support für das msgr2 On-wire-Protokoll, das über AES-GCM-Algorithmen eine volle Transitverschlüsselung ermöglicht.
Wimax am Ende, 6 GHz kommt
Während neue Anbieter ihre Treiber häufig erst im Staging-Bereich des Kernels auf Kurs bringen, bevor sie dann im Mainline-Kernel landen, gehen die Wimax-Treiber diesmal den umgekehrten Weg: Die Treiber für die drahtlose Funktechnik, die in Europa nie einen großen Durchbruch feierte, werden in den Staging-Bereich verschoben(öffnet im neuen Fenster). Das ist der erste Schritt vor dem Entfernen der Technik.
Eine bessere Zukunft gibt es für dem Iwlwifi-Treiber, den die Kernelentwickler nun mit Support für das 6-GHz-Band ausstatten(öffnet im neuen Fenster). Der Rtw88-Treiber deckt auch den Kanal 144 ab und arbeitet reibungsfreier mit den Bluetooth-Treibern zusammen. Der Wilc1000-Treiber beherrscht Wi-Fi-Multimedia (WMM), und auch für Ath11k gibt es mehrere neue Funktionen.
Cgroups zur Hilfe
Linux unterstützt nun das BPF Type Format (BTF) über seine Kernelmodule(öffnet im neuen Fenster). Auch im Memory Accounting beschreiten die BPF-Entwickler neue Wege, um die zahlreichen Nachteile des bisherigen Ansatzes auszubügeln. Der neue Code strebt eine Memory-Cgroups-basierte Speicherverwaltung für BPF-Objekte an. Zusammen mit dem zuletzt eingeführten Memory-Accounting für einzelne CPUs soll sich der Speicherbedarf von BPF-Programmen und -Maps auf diese Weise gut nachvollziehen lassen. Zwar bringe auch das Cgroups-basierte Accounting eigene Anforderungen mit, aber verglichen mit dem bisherigen Ansatz sei der Umbauaufwand gerechtfertigt.
Linux läuft bekanntlich nicht nur auf einer Plattform, dementsprechend lässt sich zum Beispiel auch aus dem RISC-V- und dem ARM-Umfeld Neues berichten. Palmer Dabbelt zählte für RISC-V(öffnet im neuen Fenster) gleich mehrere neue Funktionen auf. Dazu gehört Support für das Allozieren von fortlaufendem Speicher, für IRQ Time Accounting, für Stack Tracing, für einen strikt begrenzten Zugriff auf /dev/mem nach dem x86-Vorbild und für geschützte Kernel-Bereiche.
Zugleich gibt es für OpenRISC neue Treiber und eine Unterstützung für die LiteX-Plattform(öffnet im neuen Fenster). Die ARM-Plattform unterstützt mit dem Kernel 5.11 den generischen Kasan, was für Kernel Address Sanitizer steht. Die Software entdeckt Speicherfehler, darunter Use-after-Free- und Out-of-Bound-Bugs. Daneben gibt es, wie fast mit jeder Kernel-Release, neue Treiber für diverse SoCs.
Hardware-Support für AMD- und Intel-GPUs
Die vielen Registerdateien von AMD waren bereits ein Thema. Doch bei den Grafikkartentreibern hat sich noch mehr getan. So unterstützt Linux nun die AMD-Plattformen Vangogh (rudimentär), Green Sardine und Dimgrey Cavefish. Hinter den leicht schrägen Namen stecken mutmaßlich neue APUs, die demnächst auf den Markt kommen sollen. Updates gab es auch für Navy Flounder und Sienna Cichlid, hinter denen sich AMDs Next-Generation-GPUs Navi 21 und Navi 22 verbergen.
Die Intel-Entwickler feilen derweilen weiter am Code für den Intel-Xe-Grafikchip(öffnet im neuen Fenster) (DG1) und haben zudem Big Joiner eingeführt. Das Feature erlaubt es, zwei Pipes in einen Port zu überführen, um so 8K-Displays über einen Displayport-Anschluss anzusteuern. Für den Code zum freien Grafikchip des Raspberry Pi gibt es jetzt einen neuen Maintainer.
Die neue Kernelversion findet sich auf Kernel.org(öffnet im neuen Fenster).
- Anzeige Hier geht es zur AVM Fritzbox 7590 AX bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



