Fehler in aktuellen Linux-Kerneln
Der aktuelle Linux-Kernel 3.6.2 und 3.6.3 weist einen kritischen Fehler auf, bei dem es unter bestimmten Umständen zu Datenkorruption bei Verwendung des Dateisystems ext4 kommen kann. Der Fehler wurde mittlerweile auch in die Kernelversionen 3.4 und 3.5 zurück portiert.
Theodore Ts'o, Kernel-Entwickler und Autor des EXT-Dateisystems, war in der Lage, den Fehler zu lokalisieren und einen Patch zu schreiben, den er mittlerweile eingereicht hat. Momentan wird das Problem auf der Linux-Kernel-Mailingliste (LKML) diskutiert und der Patch von weiteren Kernel-Entwicklern untersucht. Wenn sich keine Regressionen finden wird dieser anschließend freigegeben.
Der Nutzer, der den Fehler meldete, sagte dazu sinngemäß: „Es ist erschreckend, wie viel Schaden in meinem Home-Verzeichnis in wenigen Augenblicken entstand, wenn man in Betracht zieht, wie wenige Dateien in dem Zeitraum geschrieben wurden. Was bei einem System passiert, bei dem das Root-System und das Home-Verzeichnis in der gleichen Partition liegen, möchte ich mir nicht ausmalen.“
Theodore Ts'o wird dazu auf Phoronix einschränkend zitiert: „Das Problem kann nur auftreten, wenn ein Rechner mindestens zwei Mal kurz hintereinander gebooted wird. Das wird bei normaler Verwendung einer Linux-Distrbution nicht so häufig vorkommen.“ Wird der Rechner kurz hintereinander mehrmals gebootet, kann das Journal in einer Art überschrieben werden, die beim Wiederherstellen von Änderungen aus diesem Journal Datensalat produziert.
Nutzer der genannten Kernel sollten sich informieren, wann der Patch in den offiziellen Vanilla-Kernel einfließt und ihren Kernel neu kompilieren oder den Kernel mit dem Patch aus ihrer Distribution installieren.
Nach weiteren Untersuchungen hat Ted Ts'o festgestellt, dass der Bug, der potenziell Daten im EXT4-Dateisystem zerstört, nicht die zuerst angenommene Ursache hat und somit seine erste Analyse falsch war. Der Fehler kann, so der jetzige Stand der Dinge, nur bei einem unsauberen Herunterfahren des Systems oder einem umount mit den Parametern -l und nobarrier eintreten. Letzteres ist eine sehr ungewöhnliche Kombination und muss händisch eingegeben werden. Weitere Fehlermeldungen von Betroffenen sind bisher nicht bekannt. Dies wäre aber zu erwarten, da Distributionen wie Fedora 17 oder Siduction die Kernel 3.6.2 und 3.6.3 bereits seit deren Erscheinen nutzen. Ts'o sagt, dies sei keine Entwarnung, es stelle den Fehler lediglich in ein anderes Licht. Hier zeigt sich wieder einmal einer der großen Vorteile quelloffener Software-Entwicklung: Bugs werden offen diskutiert und zeitnah behoben, renommierte Entwickler wie Ts'o scheuen sich nicht, Fehler öffentlich einzugestehen. Nichts wird vertuscht.