Auch diesen Monat gibt es wieder einen Kernel-Rückblick. Dieser ist, neben vielen anderen interessanten Themen, in der aktuellen Ausgabe von freiesMagazin enthalten.
Sorgte Ende Juli noch der Streit zwischen Linus Torvalds und Alan Cox (siehe „Der Juli im Kernel-Rückblick“, freiesMagazin 08/2009 [1] für Aufregung, haben sich die Wogen zwischenzeitlich geglättet. Greg Kroah-Hartman hat nun die Verantwortlichkeit für die Pflege des kurzzeitig verwaisten TTY-Layers übernommen [2] und versucht der von Cox zuvor eingebrachten Änderungen Herr zu werden.
Ein über acht Jahre unentdeckter Fehler mit der CVE-Nummer CVE-2009-2692 [3] hielt Anfang August die Linux-Community auf Trab. Bereits seit den frühen 2.4er-Kernel-Versionen führte eine fehlende Überprüfung auf nicht genutzte Zeiger bei der Initialisierung von Sockets, Schnittstellen zur Kommunikation zwischen Netzwerkprotokoll-Stacks und dem System, zu der Möglichkeit, Code mit root-Rechten zur Ausführung zu bringen. Obwohl explizit die Umsetzung der Netzwerkprotokolle hiervon betroffen ist, konnte diese Lücke nur durch einen bereits lokal am System angemeldeten Anwender ausgenutzt werden. Der korrigierende Patch [4], der nun die Funktion kernel_sendpage() nutzt, welche auf nicht initialisierte Zeiger prüft, sollte mittlerweile von allen Distributoren an ihre Anwender weitergegeben worden sein.
Wenig beachtet, aber im Bereich der Automatisierung von Interesse: Treiber für den VME-Bus [5] stehen nun direkt im Linux-Kernel zur Verfügung [6]. Die Implementierung wurde viele Jahre außerhalb des Kernels betrieben und laut Kroah-Hartmann gab es mindestens drei verschiedene Umsetzungen, die gleichzeitig irgendwo gepflegt wurden.
Die Linux Foundation hat ihre Studie „Who Writes Linux and Who Supports It“ (Wer Linux schreibt und wer es unterstützt) erneuert [7]. Darin beschreiben Greg Kroah-Hartman, Jonathan Corbet und Amanda McPherson den Verlauf der Entwicklung des Linux-Kernels mit Zahlen. Unter anderem geht daraus hervor, dass durchschnittlich alle 81 Tage ein neuer Kernel fertiggestellt wird. Die Zahl der eingebrachten Patches pro Kernel-Version ist stark angestiegen. So wurden in 2.6.11 (März 2005) noch 3616 Patches eingebracht, der aktuelle Kernel 2.6.30 wies mit 11989 Patches mehr als die dreifache Menge auf. Dafür werden mittlerweile im Durchschnitt mehr als sechs Patches pro Stunde angewendet. Die Anzahl der an einer Kernel-Version beteiligten Entwickler ist nicht im gleichen Maßstab gestiegen, so waren an 2.6.30 mit 1150 Personen nicht ganz dreimal so viele beteiligt wie an 2.6.11 mit 389 Entwicklern. Dabei taucht Linus Torvalds unter den TOP30 der Entwickler nicht mehr auf, was wohl der Tatsache geschuldet ist, dass er in erster Linie Verwaltungstätigkeiten wie das Absegnen von Patches und das Zusammenführen der verschiedenen Zweige durchführt. Die für letzteres notwendigen „Merge-Commits“ wurden bei der Auswertung für diese Studie nicht berücksichtigt. Ein stetiges Wachstum hat das reine Volumen des Kernels zu verzeichnen: mit 11,5 Millionen Code-Zeilen ist er seit 2.6.11 auf knapp das Doppelte angewachsen. Diese verteilen sich auf etwa 28000 Dateien, gerade mal eineinhalb mal so viele gegenüber 2.6.11.
Der aktuelle Entwicklerkernel 2.6.31 hatte im August keine großen Überraschungen zu bieten. Nach einer zweiwöchigen Ruhephase wurde 2.6.31-rc6 [8] freigegeben, in dem bereits der oben genannte Fehler in der Zeigerbehandlung behoben ist. Weiterhin wurde nochmals intensiv am i915-Grafiktreiber und dem Performance-Counter gearbeitet. Die Folgeversion -rc7 [9] war dann deutlich weniger umfangreich, die aufwändigsten Arbeiten waren an der ARM-Architektur, genauer gesagt im Bereich der OMAP-Prozessoren, sowie an der Infrastruktur für den Radeon-Treiber erfolgt. Mit 2.6.31-rc8 [10] verabschiedete sich Torvalds dann auch in den Tauchurlaub. Die Version bringt einige letzte Korrekturen eines Fehler in inotify, einem Subsystem zur Überwachung auf Dateisystem-Ereignisse. Es soll die letzte Vorabversion werden, die Veröffentlichung von 2.6.31 ist für den „Labor Day“, also den 7. September, vorgesehen.
Links:
[1] http://www.freiesmagazin.de/freiesMagazin-2009-08
[2] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commi...
[3] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2692
[4] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commi...
[5] http://de.wikipedia.org/wiki/VMEbus
[6] http://www.kroah.com/log/linux/vme-drivers.html
[7] http://www.linuxfoundation.org/publications/whowriteslinux.pdf
[8] http://lkml.org/lkml/2009/8/13/549
[9] http://lkml.org/lkml/2009/8/21/446
