Der September brachte einige Bewegung in der Entwicklung des 2.6.36 und eine neue, „alte“ Sicherheitslücke, über die es im Kernelrückblick zu berichten gilt. Dieser ist, neben vielen anderen interessanten Themen, in der aktuellen Ausgabe von freiesMagazin enthalten.
Der noch im August veröffentlichte 2.6.36-rc3 [1] hatte nicht viel Aufregendes zu bieten. Immerhin gibt es mit dem Netzwerktreiber für Marvells Mobil-Prozessor PXA168 einen Neuzugang, ansonsten beschränken sich die Änderungen auf Aktualisierungen der Treiber, allen voran wieder einmal die Grafik-Treiber radeon und nouveau. Daneben wurde aus dem staging-Bereich, in dem Treiber für die kommenden Kernel-Versionen reifen dürfen, der „Security Processor Driver“ entfernt. Er sollte für Intels Mobile Internet Devices als Schnittstelle zwischen Anwendungen, die im Kontext des Benutzers laufen, und dem Security Processor dienen, machte aber nicht die erwarteten Fortschritte und wurde daher des Feldes verwiesen. Dazu kamen noch Korrekturen für Fehler in den Dateisystemen Ceph und CIFS; letzteres ersetzt das Authentisierungsprotokoll NTLMv1 durch die Nachfolgeversion v2 bei der Authentisierung gegen Microsofts Authentisierungsinstanz NTLMSSP.
Die Grafik-Front war auch beim -rc4 [2] vorne mit dabei. Diesmal gehörte auch der Intel-Treiber i915 zu den Schuldigen, bei dem ein paar frühere Änderungen zurückgenommen und einige Fehler korrigiert wurden. Ein größerer Batzen kommt dann noch durch die Verschiebung eines PCI-Treibers in ein anderes Verzeichnis zustande. Torvalds machte die Entwickler auch darauf aufmerksam, dass beim Beheben von Problemen nicht nur die Entwickler, sondern auch diejenigen im Patch eingetragen werden sollten, die den Fehler berichtet haben. Es gäbe bereits viele solcher „Reported-by“-Nennungen, aber sie sollten häufiger genutzt werden, um auch das Aufspüren von Problem anzuerkennen, das manchmal weniger trivial als der abschließende Fix sein kann. Zur Veröffentlichung des 2.6.36-rc5 [3] wurde zuerst einmal das in -rc3 für NTLMSSP eingesetzte NTLMv2 (siehe oben) mitsamt aller Versuche, damit einhergehende Probleme zu beheben, zurückgenommen. Diese Änderung wird vorerst auf 2.6.37 verschoben. Die Dokumentation zu der neuen Prozessverwaltung „workqueue“ (siehe freiesMagazin 09/2010 [4]) kam noch hinzu, ansonsten beliefen sich die Änderungen hauptsächlich auf kleinere Korrekturen im Bereich der Systemarchitekturen und Treiber.
Lediglich kleinere Änderungen konnte -rc6 [5] vorweisen. Hier trübte mit etwa einem Drittel der modifizierten Quelltextzeilen lediglich eine Umbenennung des VMware Balloon Treibers die Statistik, der einer virtuellen Maschine zugunsten des Gastes Arbeitsspeicher klauen kann. Ansonsten ging die Zahl der Änderungen tendenziell weiter zurück, ein Zeichen dafür, dass die Veröffentlichung der Final-Version des Kernels kurz bevorstehen dürfte.
Vorerst in Kroah-Hartmans Kernel-Zweig „staging-next“ landete der neue, vollständig offene Broadcom-Treiber für die Wlan-Chips BCM4313, BCM43224 und BCM43225 [6] [7]. Der Treiber basiert auf dem aktuellen WLAN-Stack mac80211 und soll gleichzeitig die Basis künftiger Treiber für Embedded-Chips von Broadcom sein. Dank der frühzeitigen Aufnahme stehen die Chancen nicht schlecht, dass der Treiber bereits im Kernel 2.6.37 zu finden sein könnte.
Sicherheitslücken kommen im Kernel immer mal wieder vor, meistens können sie jedoch innerhalb kurzer Zeit geschlossen werden. Dass eine bereits geschlossene Lücke jedoch wieder neu implementiert wird, ist jedoch ein Novum [8]. Ein Patch, mit dem das Verfolgen von Systemaufrufen vereinfacht werden sollte, machte die Korrektur für eine frühere Lücke unwirksam, mit der auf 64bit-Systemen ein Benutzer Superuser-Rechte erlangen könnte. Dies geschah Mitte 2008, entsprechend sind relativ viele Kernel-Versionen von dem wieder aufgetauchten Problem betroffen. Der Patch [9] mit der Korrektur dieses Problems wurde in den -rc5 aufgenommen und ebenso in alle derzeit offiziell gepflegten Kernel-Versionen.
Und noch eine kleine Notiz am Rande: Nachdem Linus Torvalds seit mittlerweile 13 Jahren in den USA lebt und zwei seiner Kinder als Amerikaner geboren wurden, hat er nun die US-amerikanische Staatsbürgerschaft angenommen. Standesgemäß gab er dies im Nebensatz einer Mail zu einem Patch bekannt: „Ich wurde ein US-Bürger.“ [10].
Kurz erläutert: „Zweig / Branch“Zur Entwicklung kopieren sich viele Entwickler den Kernel-Quelltext in ein neues Repositorium, in welchem sie dann Änderungen vornehmen: Sie erzeugen damit einen neuen Zweig (englisch: Branch) des Kernels. Diese Zweige, beziehungsweise die an ihnen vorgenommenen Änderungen, können auch wieder mit dem originären Kernel verschmolzen werden. Dies geschieht insbesondere zu Beginn eines neuen Entwicklungszyklus während des „Merge Window“ (siehe freiesMagazin 04/2010 [11]). Größere Zweige werden oft auch als „Tree“ (zu deutsch: Baum) bezeichnet.
Ein bekannter Zweig ist beispielsweise „linux-next“, der unter anderem den „staging-next“-Zweig enthält und einen Ausblick auf die kommenden Kernel-Versionen erlaubt. Ebenfalls bekannt ist „staging“, das sich in der Verzeichnisstruktur des jeweils aktuellen Entwicklerkernels unter /drivers/staging befindet.
Quellen:
[1] http://lkml.org/lkml/2010/8/29/83
[2] http://lkml.org/lkml/2010/9/12/202
[3] http://lkml.org/lkml/2010/9/20/446
[4] http://www.freiesmagazin.de/freiesMagazin-2010-09
[5] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commi...
[6] http://article.gmane.org/gmane.linux.kernel.wireless.general/55418
[7] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging-next-2.6.git;a=...
[8] http://www.admin-magazin.de/content/sicherheitsluecke-wieder-im-linux-ke...
[9] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commi...
[10] http://lkml.org/lkml/2010/9/13/342
[11] http://www.freiesmagazin.de/freiesMagazin-2010-04
