Linus Torvalds hat Mitte September offiziell die Testphase für die nächste Kernelversion eingeläutet. Linux 4.3 wirft den separaten Support für das Dateisystem Ext 3 über Bord, schaltet IPv6 standardmäßig ein und unterstützt Intels neue Skylake-Plattform. Für Kdbus gibt es noch keinen neuen Pull Request.
In Kernel 4.3 hat Linus Torvalds den Code des nativen Treibers für das seit 2001 bestehende Dateisystem Ext 3 nach längerer Diskussion endgültig entfernt. Das ist nicht weiter tragisch: Bereits seit der Einführung von Ext 4 lassen sich Ext-3-Partitionen über den Ext-4-Treiber mounten. Sie verzichten in diesem Szenario aber auf die Performance-steigernden Extents. Mit wenigen Befehlen kann jeder Admin alternativ ein Ext-3- in ein Ext-4-Dateisystem verwandeln.
Vor dem Entfernen ließ sich Linus Torvalds bestätigen, dass der Ext-4-Treiber das Ext-3-Dateisystem tatsächlich unterstützt [1]. Wegen seiner Robustheit kommt Ext 3 noch vielerorts zum Einsatz. Dazu trägt wesentlich auch die Journaling-Funktion bei, die Änderungen am Dateisystem als Metadaten festhält. Sie sorgt nicht nur für ein konsistentes Dateisystem nach einem Absturz, sondern verkürzt auch den Filesystem-Check nach dem anschließenden Neustart.
Besseres Trimming
Die Entwicklung am Dateisystem Ext 4 ist noch nicht zu Ende. Wer eine SSD (Solid State Disk) verwendet, der darf beim Trimmen ab Kernel 4.3 die Größe der zu löschenden Dateifragmente selbst festlegen. Bislang bestimmte über diesen Wert die maximale Obergrenze der Trim-Funktion der SSD. Beim Trimmen markiert Linux ungenutzte oder ungültige Datenblöcke zur späteren Wiederbeschreibung. Da dieser Trim-Wert oftmals zu hoch ausfiel, kam es mitunter zu erheblichen Verzögerungen beim Trimmen. Dank der überschreibbaren Option »discard_max_bytes« setzt der Admin den maximalen Wert nun bei Bedarf einfach händisch herab. Die Entwickler arbeiten zugleich daran, einen sinnvolleren Standardwert zu ermitteln.
Die Btr-FS-Patches für Kernel 4.3 ermöglichen Trimming in eher ausgefallenen Szenarien. Sie beheben auch Fehler im Raid-5- und im Raid-6-Code, die auftreten, wenn ein Admin Geräte aus einem solchen Raid-Verbund entfernt.
Eine neue Funktion im Treiber für das Flash-Friendly Filesystem F2FS lässt Anwendungen künftig Aufräumarbeiten anstoßen. Zugleich verwaltet das Dateisystem Speicher besser. Das Cachen von Bereichen zusammenhängender Blöcke aktiviert der User nun automatisch, sobald er das Dateisystem einbindet.
IPv6 standardmäßig aktiv
Linux unterstützt IPv6 zwar schon seit Kernel 2.6 produktiv, aber in Deutschland stellt beispielsweise die Telekom erst jetzt ihre Privatkunden auf IPv6 um. Der Nachfolger des IPv4-Netzwerkprotokolls etabliere sich generell immer mehr, schreibt Entwickler Tom Herbert im Changelog [2], weshalb der Linux-Kernel IPv6 ab Version 4.3 standardmäßig aktiviere.
Wenig dokumentiert ist der von Thomas Graf integrierte so genannte Lightweight-Tunnel. Das neue Netzwerkprotokoll soll die einfache Kapselung des Datenverkehrs in virtuellen Netzwerken ermöglichen. So stellt es etwa virtuelle Ports von Open V-Switch (OVS) als native Netzwerkgeräte dar. Nebenbei erhielt das OVS-Subsystem ein neues Modul, um über das virtuelle Netzwerk auf die Verbindungs-Analysewerkzeuge des Kernel zuzugreifen.
Ambient Capabilities [3] sollen es künftig ermöglichen, spezifische Rootrechte an Anwendungen zu übergeben, die ein gewöhnlicher Benutzer gestartet hat. Entwickler Andy Lutomirski hat dazu eine fünfte Capabilities-Maske eingeführt, über die der Kernel die Rechte eines Prozesses prüft, die so genannte Ambient Mask. Dank ihr vererbt Linux beispielsweise Benutzerrechte an privilegierte Anwendungen wie zum Beispiel Netzwerkdienste. Bestehende Sicherheitsbarrieren wie Set-UID oder Set-GID hebele die neue Technologie aber nicht aus. Ein LWN-Artikel erklärt die Evolution und die Problematik beim Vererben von Capabilities [4].
VM86 bleibt
Diskussionen gab es auch über Pläne, den virtuellen 8086-Modus (VM86, [5]) aus dem Kernel zu entfernen. Zahlreiche Entwickler sprachen sich dagegen aus, Torvalds entschied daher, die Funktion beizubehalten. Diese Emulation, weiland für 386-Prozessoren entwickelt, erlaubt es, Real-Mode-Anwendungen im 16-Bit-Modus unter einem Protected-Mode-Betriebssystem zu verwenden.
Die Entwickler wollen den Code vor allem aufgrund von Sicherheitsbedenken nicht aus dem Kernel entfernen. Torvalds schlug daher vor, den Parameter für die Speicheradressierung so zu setzen, dass VM86 im Normalfall nicht lauffähig ist. Die meisten Distributionen setzten ohnehin höhere Werte, Auswirkungen auf Dosemu haben die Änderungen offenbar auch nicht.
Die Kdbus-Entwickler scheinen indes weiterhin das Feedback der Admins umzusetzen, ein weiterer Pull Request von Greg Kroah-Hartman blieb bislang aus. Zuletzt hatte der NSA-Mitarbeiter Stephen Smalley, der an SE Linux (Security Enhanced Linux) und zuletzt SE Android (Security Enhanced Android) mitarbeitete, auf der Mailingliste Bedenken [6] gegen einen Fake-Credential-Mechanismus in Kdbus geäußert, die andere Entwickler aber wieder zerstreuten.
Grafik und Netzwerk
Im Bereich Grafik erlebte der Treiber von Intel diesmal die größten sichtbaren Änderungen. Nach diversen Aufräumarbeiten gilt der Code für Intels aktuelle Skylake-Reihe jetzt als stabil und wird standardmäßig aktiviert. Allerdings müssen die Linux-Distributionen noch diverse weitere Treiber nachreichen, um vollständigen Support zu erhalten.
Zugleich unterstützt Linux 4.3 Atomic Mode Setting (Abbildung 1, [7]), mit dem Kerneltreiber effizienter automatische Bildschirmauflösungen umsetzen. Der Code gilt aber als noch nicht ganz ausgereift, die Entwickler wollen ihn erst in späteren Versionen des Treibers für jedermann aktivieren. Nebenbei optimiert der neue Kernel auch die Komprimierung des Bildspeichers auf Grafikkarten.
Zusammen mit dem ursprünglich für Linux 4.2 eingereichten neuen AMDGPU-Treiber gelangte auch für Linux 4.3 erster Code in den Kernel, der AMDs neuen Grafikchip R9 Fury unterstützen soll. Bislang müssen Interessierte ihn manuell aktivieren, weil der Treiber Probleme mit der Geschwindigkeitsstufe hat und 3-D-Funktionen noch nicht ausreichend umsetzt. Die von den Nouveau-Entwicklern für Linux 4.3 angekündigten großen Änderungen betreffen in erster Linie eine grundlegende Umgestaltung und Optimierung des Codes. Sie soll als Basis für künftige Verbesserungen dienen.
Linux 4.3 erscheint voraussichtlich Anfang November und steht dann auf Kernel.org [8] zum Download bereit.
Infos
- Ext 3 ausrangiert: https://www.linux-magazin.de/NEWS/Torvalds-haelt-die-Hand-ueber-Ext3/
- IPv6 aktiviert: http://git.kernel.org/linus/de551f2eb22a77a498cea9686f39e79f25329109
- Ambient Capabilities erklärt: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=58319057b7847667f0c9585b9de0e8932b0fdb08
- Vor- und Nachteile von Capabilities: https://lwn.net/Articles/632520/
- VM86-Modus: https://de.wikipedia.org/wiki/Virtual_8086_Mode
- Bedenken zu Fakes Credentials in Kdbus: http://lkml.iu.edu/hypermail/linux/kernel/1507.1/01758.html
- Atomic Mode Setting: https://en.wikipedia.org/wiki/Mode_setting#Atomic_mode_setting
- Kernel: https://kernel.org







