Linux 4.20 freigegeben: Performance-Optimierungen und neue Treiber

Seite 4: Speck-Entferung, Linux 5.0 sowie Daten und Zahlen

Inhaltsverzeichnis

Die Entwickler haben die Unterstützung für den Crypto-Algorithmus Speck rausgeworfen, die Google-Entwickler erst vor einem halben Jahr in Linux 4.18 eingebracht hatten. Speck war schon damals umstritten, weil es von der amerikanischen Sicherheitsbehörde NSA stammt. Das ist ein Grund für den Rauswurf, der aber durch etwas anderes in Gang kam: Google hat zwischenzeitlich die Pläne verworfen, Speck bei günstigen Android-Geräten einzusetzen. Die Linux-Entwickler haben den Algorithmus daher schon Mitte November auch aus Linux 4.18.19 und 4.19.2 entfernt, nachdem der Rauswurf zur ersten Vorabversion von 4.20 erfolgt war. Googles Entwickler haben derweil bereits einen neuen Ansatz für das Einsatzgebiet entwickelt, in dem sie Speck nutzen wollten; dieser "Adiantum" genannte Algorithmus soll in den Nachfolger von 4.20 einziehen.

Das GCC-Plugin "Stackleak" kann die Sicherheit verbessern, kostet aber Performance.

(Bild: git.kernel.org – afaef01c0015 )

Ein beim Kompilieren verwendbares Plugin kann es Angreifern erschweren, für ihre Zwecke dienliche Informationen im Aufrufstapel (Callstack) des Kernels abzugreifen (u. a. 1, 2, 3). Das für GCC gemachte "Stackleak"-Plugin führt aber bereits in einigen einfachen Benchmarks zu einem Performance-Einbruch von ein bis fünf Prozent. Daher werden womöglich Mainstream-Linux-Distributoren die Technik in ihren Standard-Kerneln meiden. Weitere Details zur ursprünglich beim Grsecurity-Projekt entwickelten Stackleak finden sich in einem Artikel bei LWN.net. Er erläutert auch die Schwierigkeiten, mit denen ein Entwickler bei seinen Bemühungen zu kämpfen hatte, Stackleak in den offiziellen Linux-Kernel zu integrieren.

Nachdem Linus Torvalds sich in der zweiten Hälfte der 4.19er-Entwicklung eine Auszeit genommen hatte, lief die Entwicklung von Linux 4.20 weitgehend wie gewohnt. Die Auszeit hatte Linus Torvalds angesetzt, um sein Verhalten und seine Ausdrucksweisen gegenüber anderen Entwicklern zu überdenken; in dem Zug hat er auch einen Verhaltenskodex ("Code of Conduct") eingeführt. Beides machte sich ein klein wenig bemerkbar: Trotz Bedenken vieler Kritiker hielt Linus Torvalds mit Kritik keineswegs hinterm Berg, äußerte diese aber rücksichtsvoll, wie es moderne Umgangsformen gebieten.

Nachdem auf 3.19 vor einigen Jahren 4.0 folgte, weil Linus Torvalds die zweite Nummer zu groß wurde, hatten der Kernel-Log-Autor und viele andere Beobachter den nächsten Versionssprung beim Nachfolger von 4.19 erwartet. Davon hat Torvalds aber abgesehen – unter anderem, weil er kein Muster etablieren wolle. Er deutete aber an, der Sprung auf 5.0 würde 2019 erfolgen, denn dann "würden ihm endgültig die Finger und Zehen zum Zählen ausgehen". Womöglich passiert das also schon beim Nachfolger von 4.20.

Kernel-
Version
Anzahl
Dateien¹
Zeilen
Quelltext
(Ohne
Doku)²
Entwick-
lungs-
zeitraum
Commits
(Ohne
Merges)³
Diffstat⁴
Linux 4.14 61.290 25.041.284
(23.050.486)
70 Tage 14.659
(13.452)
23.388 files changed,
 719.862 insertions(+),
 445.585 deletions(-)
Linux 4.15 62.303 25.364.802
(23.329.451)
77 Tage 16.223
(14.866)
13.265 files changed,
 643.912 insertions(+),
 320.289 deletions(-)
Linux 4.16 62.915 25.558.805
(23.495.643)
63 Tage 14.896
(13.630)
12.239 files changed,
 1.133.069 insertions(+),
 939.066 deletions(-)
Linux 4.17 61.362 25.379.564
(23.314.368)
63 Tage 14.745
(13.541)
14.504 files changed,
 777.301 insertions(+),
 956.941 deletions(-)
Linux 4.18 61.003 25.280.872
(23.183.236)
70 Tage 14.432
(13.283)
13.141 files changed,
 583.336 insertions(+),
 682.028 deletions(-)
Linux 4.19 61.734 25.588.455
(23.449.221)
70 Tage 15.204
(14.043)
11,693 files changed,
 552.223 insertions(+),
 244.235 deletions(-)
Linux 4.20 62.481 25.955.520
(23.776.585)
63 Tage 14.995
(13.844)
11402 files changed,
 685.027 insertions(+),
 317.959 deletions(-)
¹ git ls-tree -r --name-only HEAD | wc -l
² find . -type f -not -regex '\./\.git/.*' | xargs cat | wc -l; echo "($(find . -name *.[hcS] -not -regex '\./\.git/.*' | xargs cat | wc -l))"
³ git-log --pretty=oneline vx.(y-1)..vx.(y) | wc -l; echo "($(git-log --pretty=oneline --no-merges vx.(y-1)..vx.(y) | wc -l))"
⁴ git diff --shortstat vx.(y-1)..vx.(y)
Mehr Infos

Den neuen Linux-Kernel herunterladen und einrichten

Die neue Linux-Version steht wie gewohnt über Kernel.org zum Download bereit. Auf Kernel.org finden Sie auch eine Anleitung, wie Sie die Authentizität und Unversehrtheit prüfen.

Hinweise zur Einrichtung eines eigenen Kernels finden Sie im Artikel "Linux-Kernel maßgeschneidert". Das darin beschriebene Make-Target make localmodconfig erzeugt weitgehend automatisch eine recht gut auf Ihr System zugeschnittene Kernel-Konfiguration, mit der Sie in wenigen Minuten eine neue Linux-Version einrichten können.

Fedora und Rolling-Release-Distributionen wie Arch Linux, Gentoo und OpenSuse Tumbleweed dürften die neue Linux-Version in den nächsten Tagen und Wochen im Rahmen der regulären Systemaktualisierung erhalten. Bei bereits erhältlichen Releases von OpenSuse Leap, Ubuntu und vielen anderen klassisch gewarteten Distributionen macht der Kernel normalerweise keine größeren Versionssprünge; deutlich neuere Kernel erhält man dort meist erst beim Wechsel auf eine neuere Version der Distribution.

Mehr Infos

Versionshistorie dieses Artikels

  • 2018-12-24, 07:30 – v2.0: Umstrukturierung und kleinere Textanpassungen zur Freigabe von 4.20; dabei Kurzbeschreibung der wichtigsten Neuerungen am Anfang hinzugefügt.
  • 2018-12-12, 06:45 – v1.0: Erste Version.

Der Newsticker von heise online erwähnt alle größeren Texterweiterungen, auf die auch der Twitter-Account @kernellog hinweist.

(thl)