Original-URL des Artikels: https://www.golem.de/news/linux-kernel-community-hat-probleme-mit-bug-fixes-1902-139484.html    Veröffentlicht: 19.02.2019 14:20    Kurz-URL: https://glm.io/139484

Linux

Kernel-Community hat Probleme mit Bug-Fixes

Ein aktueller Fall zeigt, dass die Linux-Kernel-Community weiter große Probleme hat, Patches und Bug-Fixes in stabile Kernel-Versionen einzupflegen. Der dafür genutzte Machine-Learning-Ansatz ist offensichtlich auch keine Lösung.

Der Chef des Magazins LWN.net und offizielle Betreuer der Dokumentation des Linux-Kernels, Jonathan Corbet, äußert sich meistens eher zurückhaltend zur Kernel-Entwicklung und lobt die Community auch sehr oft für ihre Arbeit. In einem aktuellen Beitrag für sein Magazin schreibt Corbet für ihn jedoch ungewöhnlich deutlich: "Der Kernel-Entwicklungsprozess funktioniert in vielerlei Hinsicht gut, was jedoch nicht bedeutet, dass er keine krassen Probleme hat."

Auslöser für diesen Kommentar sind die Vorgänge innerhalb der Community in Zusammenhang mit einem Patch, die deren Arbeit wenig koordiniert erscheinen lässt. Ursprung der Diskussionen ist dem Bericht bei LWN.net zufolge ein Patch von Red-Hat-Entwickler Oleg Nesterov, der ein formal falsches Verhalten beheben sollte.

So gibt es die Unix-Konvention, dass Textdateien an den in der ersten Zeile festgelegten Interpreter weitergereicht werden, falls diese mit dem sogenannten Shebang (#!) beginnen. Die bisherige Linux-Implementierung nutzt dafür ein 128 Byte großes Array, schneidet aber möglicherweise noch folgende Kommandos ab, sofern dieser Speicherbereich komplett befüllt ist.

Das sollte natürlich nicht geschehen, sondern schlicht wie vorgesehen die gesamte erste Zeile der Textdatei interpretiert werden. Der Patch von Nesterov landete letztlich in einer Vorabversion zum Linux-Kernel 5.0. Das neue Verhalten wiederum sorgte jedoch bei den Entwicklern der Distribution NixOS für Probleme. Entsprechend dem Linux-Mantra, niemals Userspace-Anwendungen kaputt zu machen, hat Linux-Chefentwickler Linus Torvalds den Patch von Nesterov offiziell wieder zurückgezogen und somit das alte Verhalten vorerst wieder hergestellt.

Kaputter Patch landet im Stable-Zweig

Parallel dazu ist der besagte Patch jedoch nach der ursprünglichen Aufnahme in den Entwicklungszweig von Version 5.0 auch für die Aufnahme in die stabilen Zweige vorgeschlagen worden. Der Patch ist deshalb schließlich auch als Teil eines Updates mit den stabilen Versionen des Linux-Kernels veröffentlicht worden. Damit ist aber ein als fehlerhaft bekannter Patch in einer stabilen Version erschienen, was eigentlich nicht geschehen sollte.

Interessant daran ist, dass der Vorschlag zur Aufnahme in die stabilen Zweige nicht direkt durch einen Entwickler zustande kam, sondern durch ein System auf Basis von Machine-Learning-Techniken, die der bei Facebook angestellte Entwickler Sasha Levin pflegt.

Levin verteidigt sein System weiter damit, dass alle anderen Ansätze schlicht nicht gut genug skalieren würden. Greg Kroah-Hartman, der die stabilen Kernel-Zweige pflegt, weist außerdem darauf hin, dass in der Phase zur Überprüfung der stabilen Updates kein Entwickler der Aufnahme des fehlerhaften Patches widersprochen habe.

Das Kuriose an dieser Situation ist aber, dass der Patch bereits rund eine Woche als fehlerhaft bekannt war, bevor Kroah-Hartman die Ankündigung zum Überprüfen der stabilen Updates überhaupt verschickt hat. Das zeigt die eklatanten Mängel der Community zur Fehlerbehebung in diesem Fall.

Corbet sieht den Fall außerdem nur als ein Beispiel unter vielen. Der langjährige Kenner der Linux-Community geht davon aus, dass auch künftig ähnliche Fälle auftreten werden. Besonders positive Aussichten sind das nicht, so dass die Kernel-Community hier wohl noch deutlich nachbessern muss.  (sg)


Verwandte Artikel:
Linux: Debian-Update verhindert Start auf ARM-Geräten   
(18.02.2019, https://glm.io/139456 )
Security: Wireguard-VPN für MacOS erschienen   
(18.02.2019, https://glm.io/139444 )
Mini-Y2K: Per GPS in die Vergangenheit   
(14.02.2019, https://glm.io/139400 )
Linux-Kernel: Mit Machine Learning auf der Suche nach Bug-Fixes   
(25.10.2018, https://glm.io/137321 )
Ubuntu-Sicherheitslücke: Snap und Root!   
(15.02.2019, https://glm.io/139430 )

© 1997–2020 Golem.de, https://www.golem.de/