Linux: Kernel 4.0 führt Live-Patching ein

Ferdinand Thommes
10 Kommentare
Linux: Kernel 4.0 führt Live-Patching ein
Bild: Beraldo Leal | CC BY 2.0

Linus Torvalds hat am Wochenende pünktlich Kernel 4.0 freigegeben und bezeichnet den Schritt als „solide Weiterentwicklung des Kernel-Codes“. Herausragende Merkmale sind die neue Versionierung und Live-Patching.

Die neue Hauptversion 4.0 hat keine besondere Bewandtnis, Torvalds entschied sich nach einer Umfrage, von 3.19 nicht weiter hoch zählen zu wollen, sondern mit 4.0 einen neuen Zyklus einzuläuten. Der erste Kernel dieses Zyklus ist mit nicht einmal 10.000 Änderungen einer der kleineren Kernel der letzten Zeit.

Die weitreichendste Änderung bei 4.0 ist zweifelsohne die Live-Patching genannte Technik zum Patchen eines Kernels und Übernahme der Änderungen ohne Neustart. Dies hat insbesondere Bedeutung in der Server-Welt, wo es darum geht, Ausfallzeiten möglichst gering zu halten. Ob Desktop-Distributionen diese Funktionalität ihren Anwendern anbieten werden, bleibt abzuwarten.

Die jetzige Integration in den Kernel entstand aus einer Zusammenarbeit von Red Hat und SUSE, die mit kGraft und kpatch jeweils eigene Lösungen hatten, die im Endeffekt auf das mittlerweile zu Oracle gehörende Ksplice zurückgehen. Die Entwicklung ist hier noch nicht zu Ende. Live-Patching ist grundsätzlich lauffähig, einige Entscheidungen sind aber noch strittig und die nächsten Kernel-Versionen werden hier weitere Entwicklung sehen.

Dateisysteme

Bei den Dateisystemen erfuhr in erster Linie Btrfs Fehlerbereinigungen in Sachen Fehlfunktionen rund um den nervigen „Out-of-disc-space“-Fehler, der dem System vorgaukelt, der Speicherplatz gehe zur Neige, obwohl das nicht stimmt. Zudem erhielt ext4 die Mount-Option lazytime, um alternativ zu relatime die Zeitstempel von Dateien zu speichern. Dabei geht es darum, die Zeit des Zugriffs auf eine Datei (atime) ressourcenschonender zu schreiben. Dabei erzeugt lazytime signifikant weniger Schreibzugriffe auf die Inode-Tabelle. Außerdem erhielt Persistent Memory weitere Verbesserungen. Dieses Konzept beruht auf der 2011 eingeführten Pstore-Dateisystem-Schnittstelle und soll den Verlust von Logs bei Kernel-Abstürzen vorbeugen.

Grafikkartentreiber

Bei den Treibern für Grafikkarten gab es Verbesserungen und Unterstützung neuer Plattformen bei Intel, Nvidia und AMD. So unterstützt 4.0 grundsätzlich erstmals Intels im Sommer kommende Prozessor-Plattform Skylake. Bei AMD erhält Carrizo, Nachfolger von Kaveri, erste Unterstützung in deren seit 3.19 neuem AMDKFD-HSA-Kernel-Treiber. Mit Kernel 4.1 soll hier Unterstützung für mehrere Grafikkarten oder Grafikkerne hinzukommen. Zudem erhält der freie Radeon-Treiber die Möglichkeit, Audio über Displayport wiederzugeben. Eine schnellere Anpassung an die jeweilige Temperatur der GPU soll einen leiseren Betrieb des Lüfters durch niedrigere Drehzahlen bringen. Nicht zuletzt erhält Nvidias freier Treiber Nouveau eine bessere Anbindung der GK20A-Chips auf Kepler-Basis. Intels Quark-SoCs werden ebenfalls unterstützt.

Netzwerk

Auch in Sachen Netzwerk und Sicherheit bringt jeder Kernel weitere Entwicklung, so auch Kernel 4.0. Für das Sicherheitsmodul Simplified Mandatory Access Control Kernel (Smack) wurde eine Schnittstelle zum Netfilter-System geschaffen, das jetzt sogenannte Secmarks unterstützt. Damit können Netzwerkpakete über Netfilter gelabelt werden.

Sich selbst haben die Kernel-Entwickler mit dem Kernel Address Sanitizer ein neues Werkzeug beschert, dass beim Auffinden von Speicherfehlern wie use-after-free und out-of-bounds helfen soll.

Ausblick

Der nächste Kernel, der die Version 4.1 trägt, kann laut Torvalds nach den bisherigen eingereichten Patches wieder um einiges größer werden. Herausragende Neuerungen könnten hier die lange vorbereitete Einführung von Kdbus und Verschlüsselung für Ext4 sein. Wie immer wird die Webseite Kernelnewbies im Laufe des Tages die gesamten Änderungen von Kernel 4.0 verständlich aufbereiten.