Kernel-Log: Details zum Einbruch in kernel.org

Trends & News | Kernel-Log

News vom Kernel-Summit, der Linuxcon Europe und dem Realtime Workshop – darunter auch Details zum Einbruch bei kernel.org. AMD hat neue Grafiktreiber veröffentlicht und es gibt einen Patch, der ein schwerwiegendes Problem im RAID-10-Code von Linux 3.1 korrigiert.

In Prag fanden Ende Oktober gleich mehrere Konferenzen statt, auf denen es um den Linux-Kernel oder Kernel-nahe Themen ging. An erster Stelle steht der diesjährige Kernel Summit, auf dem knapp hundert eingeladene Kernel-Entwickler zum Austausch zusammen kamen; unter den Teilnehmern waren Linus Torvalds, Andrew Morton, Greg Kroah-Hartman und viele andere wichtige Linux-Hacker.

Wie üblich hat LWN.net die wichtigsten Diskussionen zusammengefasst. So wurden auf dem Treffen einige Hintergründe zum Einbruch bei Kernel.org bekannt. Demnach bemerkte der langjährige Kernel-Entwickler H. Peter Anvin Ende August, dass sein privater Server kompromittiert war; bei näherer Untersuchung erkannte er, dass auch Kernel.org betroffen war. Der Angriff sei im Rahmen eines seit Jahren aktiven Angreifer-Netzwerks erfolgt, das sich Zugänge erschleicht. Alles deute darauf hin, dass Kernel.org nicht das Ziel war, sondern zufällig unter Kontrolle der Angreifer geriet, so Anvin. Sie seien im stillen vorgegangen und hätten die Rechner weder für Aktivitäten wie den Versand von Spam-Mails genutzt noch die auf den Servern liegenden Daten verändert.

Der einzige zur Wartung von Kernel.org zuständige Administrator berichtete über den Status des Neuaufbaus der Kernel.org-Infrastruktur. So müssen die Kernel-Hacker Download-Archive mit den Linux-Quellen nun selbst signieren und ihre Git-Zweige via Gitolite aktualisieren; einen Shell-Zugriff erhalten nur noch Administratoren. Die verschiedenen Aufgaben würden jetzt besser voneinander abgeschottet, was teilweise mit virtuellen Maschinen realisiert wird, erläuterte der Kernel.org-Administrator.

Die weiteren Berichten von Vorträgen oder Diskussionsrunden vermitteln viele weitere Informationen zu aktuellen Geschehnissen – etwa zu den aktuellen Änderungen am Speichersubsystem. Wie in den Jahren zuvor standen wieder die Begutachtung von neuem Code ("Patch Review") und allgemeine Überlegungen zum Entwicklungsmodell auf der Tagesordnung; Linus Torvalds und die anderen Entwickler scheinen aber größtenteils zufrieden, daher sind keine größeren Änderungen am Prozedere zu erwarten.

Im Rahmen der Konferenz standen auch Wahlen für fünf der zehn Sitze im Technical Advisory Board (TAB) der Linux Foundation an; Alan Cox, Thomas Gleixner, Jonathan Corbet, Theodore Ts'o und Greg Kroah-Hartman wurden für diese Positionen wiedergewählt.

Im Anschluss an den Kernel Summit fand mit der Linuxcon Europe das erste Mal eine europäische Variante der Konferenz der Linux Foundation an, die in Nordamerika seit einigen Jahren fest etabliert ist. Sie war mit knapp 900 Teilnehmern besser besucht als erwartet. Auch einige Kernel-Entwickler hielten Vorträge; darunter Chris Mason, der leitende Entwickler von Btrfs.

Der erwähnte einige für Linux 3.2 vorgesehene Verbesserungen, die Performance und Stabilität des experimentellen Dateisystems steigern sollen. Langfristig sei unter anderem noch Unterstützung für RAID 5 und 6 auf Dateisystemebene geplant. Zuvor wolle er aber ein ordentliches Programm zum Prüfen und Reparieren von Btrfs-Laufwerken fertigstellen. Einen Vorläufer von Btrfsck zeigte er kurz; es kann einen der kritischsten Fehler beheben und soll dieser Tage in einer Entwicklerversion erscheinen. Mason nahm zudem ein schlicht restore genanntes Programm in den Git-Entwicklerzweig der kürzlich aktualisierten Btrfs-Werkzeuge auf, mit dem man Dateien von angeschlagenen Btrfs-Laufwerken retten kann; es muss sich zeigen, wann die Distributionen diese Werkzeuge ausliefern.

Im Rahmen einer Podiumsdiskussion mit vier Kernel-Entwicklern kam das Thema Kompatibilität auf, nachdem Systemd-Macher und Moderator Lennart Poettering kritisiert hatte, dass sich Schnittstellen zwischen Kernel und Userspace gelegentlich in nicht abwärtskompatibler Weise ändern. Torvalds gestand daraufhin ein, dass inkompatible Änderungen, die Probleme verursachen, gelegentlich – etwa beim Stopfen mancher Sicherheitslücken – unvermeidbar sind, was aber äußerst selten vorkomme. In allen anderen Situationen seien Änderungen, die zu Inkompatibilitäten führen, vollkommen unakzeptabel. Er würde solche Änderungen zurücknehmen, wenn er von Probleme erfährt und dies möglich sei, ohne noch größere Probleme zu erzeugen.

Bereit vor dem Kernel-Summit fand in Prag der 13. Real Time Linux Workshop statt. Mittlerweile haben die Organisatoren Textfassungen von vielen der Vorträgen zu Echtzeit-Linux ins Internet gestellt – darunter Abhandlungen zu Roboter-Steuerung, Simulation und Prozess-Scheduling.

Am letzten Tag der Veranstaltung haben sich zudem einige der wichtigsten Entwickler der Realtime-Unterstützung für Linux zusammengesetzt. LWN.net berichtet von den wichtigsten Punkten dieses Treffens, wozu unter anderem das weitere Vorgehen beim Code für Software-Interrupts ("softirq") sowie CPU-weise abgesicherte Datenstrukturen ("Per-CPU data") diskutiert wurden.

Zur Sprache kam auch wieder der Punkt, wann alle wesentlichen Änderungen der Realtime-Unterstützung in den offiziellen Linux-Kernel einziehen. Demnach enthält der Realtime-Zweig eine Reihe von Änderungen, die in Kürze – teilweise schon bei Linux 3.2 – in den offiziellen Linux-Kernel einfließen sollen. Es gibt aber einige Problembereiche, für die noch Lösungen erarbeitet werden müssen, darunter der im RT-Zweig teilweise lahm gelegte Code zur Erzeugung möglichst guter Zufallszahlen. Keine sonderlichen Fortschritte gab es beim für den Echtzeiteinsatz ausgelegten Deadline-Scheduler zu vermelden, da der für diese Erweiterung zuständige Entwickler mit anderen Dingen beschäftigt ist.

Im nächsten Jahr soll der Workshop im Department of Computer Science and der University of North Carolina stattfinden.

Seit der Freigabe von Linux 3.1 am Montag vergangener Woche integrierte Torvalds über 8000 Änderungen für Linux 3.2. Die sind aber etwas umfangreicher als üblich, denn bereits jetzt wurden laut Diffstat knapp 1,5 Millionen Zeilen Code eingefügt und 1,3 entfernt – so viel wie noch nie zuvor bei einer neuen Kernel-Version seit Linux 2.6.0. Ein Grund für die recht hohen Zahlen sind Code-Bewegungen bei Netzwerktreibern, denn verschobene Dateien und Codeabschitte gehen in beide Werte ein. Aufgrund der langen Entwicklungszeit von Linux 3.1 hatten sich aber auch etwas mehr Änderungen als zuletzt üblich zur Integration aufgestaut.

Einen Stable-Kernel auf Basis von Linux 3.1 gibt es bislang nicht; der neueste Stable-Kernel ist die am 27. Oktober freigegeben Version 3.0.8. Diese und andere Stable-Kernel sind auch wieder über Kernel.org erhältlich, dessen Frontpage seit kurzem auch wieder aktuelle, und nicht mehr veraltete Kernel-Versionen anzeigt; die Authentizität der Quellen lässt sich mit den selben Schritten überprüfen, die der heise open-Artikel zu Linux 3.1 erläutert hat.

Kernel

  • Im Software-RAID-Code des MD-Subsystems von Linux 3.1 ist ein Fehler, der ein RAID 10 zerstören kann, wenn ein Hot-Spare einspringt. Der MD-Verwalter rät nachdrücklich zum Einspielen einer Korrektur, die vermutlich auch im nächsten Stable-Kernel enthalten sein dürfte.
  • Der Entwickler der Suspend-To-Disk/Hibernate-Frameworks Tux on Ice (vormals Suspend2) überlegt, die Entwicklung seiner Software-Suspend-Alternative einzustellen, sofern es nicht gute Gründe gibt, diese weiterzuentwickeln.
  • Christoph Hellwig hat den "XFS status update for September 2011" veröffentlicht.

Unterstützung für Grafikhardware

  • AMD hat die Version 11.10 seiner proprietären Grafiktreiber für Linux veröffentlicht. Wie bei den direkten Vorgängern gibt es keine Dokumente, die die Neuerungen dieser Version erläutern; laut der Webseite Phoronix soll die neue Version "early look support" für Ubuntu 11.10 enthalten und einige Performance-Verbesserungen für die Brazos-Plattform bringen.
  • Der seit einigen Monaten bei AMD beschäftigte Michel Dänzer hat die Version 6.14.3 des Radeon-Treibers für X.org freigegeben. Sie bringt Unterstützung für neuere Radeon-Modelle, darunter auch die Grafikkerne der Llano-APUs. Neu ist auch die Vdpau/XvMC-Unterstützung für Grafikchips seit der R300-Generation (Radeon 9500 und später), die allerdings auf aktuelle Gallium-Treiber in Mesa 3D angewiesen ist. Zudem gab es einige für KMS und Tiling wichtige Korrekturen.
  • Keith Packard hat einige Ideen zur Diskussion gestellt, wie man die Zahl der mit Flackern verbundenen Auflösungswechsel beim Booten reduzieren kann, indem bereits der Boot-Manager den richtigen Grafikmodus setzt und der Kernel mit dieser Auflösung weiterarbeitet.
  • Intel-Entwickler Eugeni Dodonov hat in den vergangenen Wochen einen ganzen Schwung längerer Blog-Einträge verfasst, in denen er sehr detailliert die Fortschritte bei der Treibern für Intel-Grafikchips und deren direktes Umfeld (Kernel, Mesa, X.org und Co.) erläutert (1, 2, 3, 4, 5, 6, 7, 8). Dabei erwähnt er einige Performance-Verbesserungen sowie Korrekturen, durch die die Stromspartechnik RC6 in Zukunft zuverlässiger arbeiten soll. Derzeit sieht es aber so aus, als würde sie auch bei Linux 3.2 standardmäßig ausgeschaltet bleiben, obwohl RC6 den Stromverbrauch erheblich senken und dadurch die Akku-Laufzeit von Notebooks spürbar steigern kann. Der Intel-Entwickler erwähnt zudem, dass das Schnüren neuer Treiber-Pakete im Quartalstakt einige Probleme mit sich gebracht hätte; in Zukunft sollen neue Treiber eher im Hinblick auf spezielle Kriterien wie Stabilität oder Performance entwickelt werden.
  • Jesse Barnes beschreibt in seinem Blog einige Ansätze zur Entwicklung von Konsolen-Software, die KMS (Kernel-based Mode-Setting) und EGL nutzt.
  • Der ebenfalls bei Intel arbeitende Eric Anholt hat die Version 2.4.27 der Libdrm freigegeben, mit deren Hilfe die 3D-Treiber von Mesa 3D mit dem Kernel kommunizieren.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

  • Kay Sievers und Lennart Poettering haben die libabc vorgestellt – ein funktionsloses Gerüst für eine Bibliothek, über die Userspace-Programme mit Subsystemen des Kernel interagieren könnten. Die Vorlage richtet sich vornehmlich an Entwickler systemnaher Software, die bei der Entwicklung solcher Bibliotheken immer wieder ähnliche Fehler machen würden und damit anderen Programmierern die Arbeit erschweren.
  • Libguestfs 1.14 ist erscheinen; Richard Jones erwähnt einige der wichtigsten Neuerungen in einem Blog-Eintrag.
  • Über Youtube und das Blog von Scott Dowdle sind Videoaufzeichnungen vieler auf dem diesjährigen KVM Forum gehaltenen Vorträge abrufbar; die Vortragsfolien sind bereits länger online.
  • Mel Gorman hat die Version 0.02 seiner vor einigen Monaten eingeführten Benchmarksammlung MMTests veröffentlicht, die Testprogramme enthält, die vorwiegend das Speichersubsystem fordern.
LKML-Diskussionen
  • Nach dem Einbruch bei Kernel.org achtet Torvalds nun stärker darauf, woher er in den Hauptentwicklungszweig von Linux integrierte Änderungen bezieht, um sicherzustellen, dass ihm kein Schadcode untergeschoben wird. Er lädt Änderungen daher fast ausschließlich von Servern, die er als vertrauenswürdig einstuft, oder aufgrund von Git-Pull-Aufforderungen, bei denen eine PGP/GPG-Signatur sicherstellt, dass sie auch tatsächlich vom jeweiligen Entwickler stammen. Die Kernel- und Git-Entwickler diskutieren derweil, wie sie das Prozedere vereinfachen können; der Git-Hauptentwickler hat einige Gedanken zum Thema in einem Blog-Eintrag erläutert.
  • Dan Magenheimer hat das maßgeblich von ihm vorangetriebene Frontswap zur Aufnahme bei Linux 3.2 vorgeschlagen. Mehrere Entwickler sprachen sich gegen eine Aufnahme in der jetzigen Form aus oder äußerten sich kritisch. Laut Andrew Morton ist das teilweise auch Folge einer Diskussion auf dem Kernel-Summit, in der mehrere Kernel-Entwickler überein kamen, bei größeren Neuheiten genauer zu prüfen, ob die Vorteile solche Nachteile wie Code-Komplexität aufwiegen.
  • Nachdem die Fehlerdatenbank bugzilla.kernel.org in Folge des Einbruchs bei Kernel.org weiter nicht zur Verfügung steht, hat Firewire-Subsystem-Verwalter Stefan Richter auf der LKML klargestellt, dass Anwender Fehler ohnehin am besten auf der LKML oder in Subsystem-spezifischen Mailinglisten melden sollen.
  • Ben Hutchings hat einen in Debian schon länger verwendeten Patch zur Integration vorgeschlagen, durch den unabhängig vom Kernel übersetzte Kernel-Module den Kernel in einer speziellen Weise markieren, wenn diese geladen werden. Dieser Ansatz wurde von mehreren Entwicklern begrüßt; unter anderem auch von demjenigen, der kürzlich vorgeschlagen hatte, den Kernel beim Laden der zu VirtualBox gehörenden Kernel-Module als "Crap" zu kennzeichnen.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open und in c't. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl).

Kommentare

Anzeige