Login
Newsletter
Werbung

Mo, 29. Januar 2018, 09:26

Software::Kernel

Linux-Kernel 4.15 freigegeben

Linux-Initiator Linus Torvalds hat Version 4.15 des Linux-Kernels freigegeben. Die wichtigste Neuerung besteht in den Gegenmaßnahmen gegen die Prozessorfehler Meltdown und Spectre. Andere größere Neuerungen sind die Komplettierung der Control Groups v2 und ThunderboltIP (Netzwerke über Thunderbolt-Kabel).

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Elf Wochen nach Linux 4.14 ist nun Linux 4.15 fertiggestellt. Als vor neun Wochen der erste Veröffentlichungskandidat erschien, sah alles nach einem ruhigen Entwicklungszyklus aus. Denn Linux 4.14 war als Kernel mit langfristiger Unterstützung deklariert, was viele Entwickler veranlasste, ihren Code möglichst noch in dieser Version unterzubringen. Doch entgegen den Erwartungen war die Zahl der Änderungen schon in Linux 4.15-rc1 höher als in Linux 4.14-rc1.

Als dann am 3. Januar die Meltdown- und Spectre-Katastrope hereinbrach, führte das dazu, dass spät in der Testphase noch Gegenmaßnahmen integriert wurden, die teilweise recht tiefgreifend sind. Normalerweise müssen solche Änderungen vor dem ersten Veröffentlichungskandidaten integriert sein, aber seit 4.15-rc5 herrschte der Ausnahmezustand. So übertrifft Linux 4.15 wahrscheinlich sogar die Zahl der Änderungen von Linux 4.12 und dürfte mit mehr als 14.570 Änderungen den zweiten Platz in der Linux-Historie erreichen.

Mit neun Veröffentlichungskandidaten hatte Linux 4.15 zudem den längsten Entwicklungszyklus seit Linux 3.1 vor fast sieben Jahren. Die zwei zusätzlichen Veröffentlichungskandidaten waren die offensichtliche Folge der eiligen Integration der Meltdown- und Spectre-Gegenmaßnahmen. Laut Linux-Initiator Linus Torvalds hat sich in der letzten Testwoche allerdings nicht mehr viel getan, so dass der Kernel auch eine Woche früher hätte veröffentlicht werden können. Nach diesem hektischen Zyklus wünscht sich Torvalds für 4.16 allerdings einen »langweiligen« Zyklus, denn langweilig sei gut.

Linux 4.15 behebt die Meltdown-Lücke mit der Kernel Page-Table Isolation (KPTI). Das kostet, wie inzwischen von mehreren Seiten bestätigt wurde, zwischen 5 und 30 Prozent an Leistung je nach Anwendung. Für Prozessoren, die nicht anfällig sind, beispielsweise die AMD-CPUs, bleibt KPTI deaktiviert, und wer kein Risiko für sich sieht, kann es mit einer Kernel-Option abschalten.

Spectre dagegen kann nur teilweise im Kernel behandelt werden. Variante 2 von Spectre wird mit dem »Retpoline«-Patch erledigt, allerdings ist dazu eine aktualisierte Version von GCC nötig. Benutzer, die den Kernel ihrer Distribution nutzen, müssen sich darum allerdings nicht kümmern. Ohne aktualisierten Compiler wird nur ein kleiner Teil des Kernels, der in Assembler geschrieben ist, abgesichert.

Gegen die Variante 1 von Spectre, die vermutlich das größte Problem darstellt, enthält Linux 4.15 dagegen noch keine Abwehr. Für Linux 4.16 bleibt demnach noch einiges zu tun. Es existiert bereits ein trickreicher und recht effizienter Patch, der mit einem neuen Makro die Grundlagen schafft, die Lücke zu schließen; das eigentliche Problem ist, die zahllosen Stellen im Kernel zu finden, die verwundbar sind und das neue Makro verwenden sollten. Weitere Arbeit ist bei den restlichen Prozessorarchitekturen zu tun, darunter ARM, und die Abwägung zwischen Kernel-Workarounds und Microcode-Updates steht ebenfalls auf dem Plan. Bei KPTI wird in der näheren Zukunft noch die Möglichkeit hinzukommen, es für spezifische Prozesse abzuschalten, bei denen die Leistung kritisch ist.

Trotz des Medienrummels um Meltdown und Spectre waren die weitaus meisten Änderungen in Linux 4.15 anderer Natur und verteilten sich wie üblich über alle Subsysteme. Dominiert wurden die Änderungen vom Umfang her allerdings von AMD-Grafiktreiber-Code sowie dem AMD Core-Display-Code. Die zweite Version des Control Group-Subsystems ist mit der Aufnahme eines CPU-Controllers jetzt endlich vollständig. Aus Kompatibilitätsgründen muss aber die erste Version der Control Groups wohl noch für sehr lange Zeit beibehalten werden. Eine wichtige Verbesserung gab es auch beim Live-Patching. Dank des »Shadow Variables«-Mechanismus können jetzt Felder zu Datenstrukturen hinzugefügt werden. Ferner wurde ein neuer Callback geschaffen, der den Kernel aufruft, wenn ein Objekt gepatcht wurde.

Die Openrisc-Architektur unterstützt jetzt SMP, die RISC-V-Architektur dagegen ist neu, aber noch nicht wirklich funktional, da sie noch keine Treiber enthält. Eine Funktionalität der neueren AMD-Prozessoren, sichere verschlüsselte Virtualisierung, wird jetzt unterstützt. Es setzt die in Linux 4.14 eingeführte Unterstützung für Speicherverschlüsselung voraus. Bei neueren Intel-Prozessoren kam dagegen die Unterstützung für »User-Mode Instruction Prevention (UMIP)« hinzu, die verhindern kann, dass Anwendungen bestimmte sicherheitsrelevante Befehle ausführen. Bei der ARM64-Architektur kam Unterstützung für die Scalable Vector Extension hinzu.

Das Sicherheitsmodul Smack wurde erweitert, so dass es auch mit dem Dateisystem Overlayfs funktioniert. Das Dateisystem XFS erhielt erste Änderungen für Online-Dateisystem-Checks, die aber noch nicht vollständig sind. Das komprimierte Dateisystem cramfs unterstützt nun execute-in-place und andere Erweiterungen. Außerdem wurde der Blocktreiber für NVMe um Multipath erweitert, was die Geschwindigkeit nochmals erheblich steigern kann.

Mit der Unterstützung für »ThunderboltIP« ist jetzt auch eine Vernetzung über Thunderbolt-Kabel möglich. Das Protokoll SCTP erhielt drei unterschiedliche Stream-Scheduler, die drei unterschiedliche Strategien verwirklichen: FCFS (was wohl unveränderte Reihenfolge bedeutet), Sortierung nach Priorität und abwechselnde Bedienung der verschiedenen Quellen (Round-Robin). Die meisten TCP-Einstellungen gelten jetzt nur noch für den aktuellen Netzwerk-Namensraum, und das Netzwerk-Traffic-Shaping wurde um einen »Credit-based Shaper« erweitert.

Zum Kernel gehört jetzt auch ein neues Programm für Anwender, bpftool, das zum Untersuchen und Ändern von Berkeley Packet Filter (BPF)-Programmen und BPF-Abbildungen dient. Sicherheitsmodule können künftig den Zugriff auf BPF-Objekte einschränken. Eine weitere Neuerung im BPF-Bereich ist ein Device Controller, der auf die Control Groups in Version 2 aufbaut. Offenbar kann man damit BPF-Programme schreiben, die den Zugriff auf Geräte blockieren oder freigeben, wie aus einem Beispielprogramm hervorgeht.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Entfernt wurde das lange obsolete Open Sound System (OSS). Wer OSS immer noch gegenüber ALSA bevorzugt, kann die aktuelle Version 4.2 von opensound.com herunterladen. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Werbung
Kommentare (Insgesamt: 4 || Alle anzeigen )
Re: Meine (Verfluchtnochmal, Di, 30. Januar 2018)
Meine (Ruediger, Mo, 29. Januar 2018)
Re: AMD DC (Felix Schwarz, Mo, 29. Januar 2018)
AMD DC (blubb, Mo, 29. Januar 2018)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung