Fehler in aktuellen Linux-Kerneln

Update Ferdinand Thommes
39 Kommentare

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.

Update

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.

25 Jahre ComputerBase!
Im Podcast erinnern sich Frank, Steffen und Jan daran, wie im Jahr 1999 alles begann.
  39 Kommentare
Themen:
  • Ferdinand Thommes E-Mail
    … ist freier Autor, Stadtführer und Linux-Entwickler und lebt derzeit in Berlin und Charleston, SC.
Quelle: Phoronix

Ergänzungen aus der Community

  • baizon 25.10.2012 18:01
    Also den Fehler zu erhalten ist wirklich eine Kunst, oder wer mach so was im Alltag...
    Das Problem war bei einem User aufgetreten, der in einem komplexen Setup lokale und NFS-Laufwerke ineinander mountet und die Dateisysteme beim Herunterfahren mit der umount-Option "-l" (lazy unmount) aushängt. Dabei werden die Laufwerke sofort ausgehängt, auch wenn sie noch beschäftigt sind (umount-Fehlermeldung ohne "-l": "device busy"), weil noch auf Dateien oder Verzeichnisse zugegriffen wird oder der NFS-Server hängt. Wird der Rechner vor dem Abschluss der nach einem "lazy unmount" nötigen Aufräumarbeiten heruntergefahren, kann das beobachtete Verhalten vorkommen, wenn zudem spezielle Mount-Optionen (unter Verdacht stehen nobarrier und journal_async_commit) verwendet werden.
    Quelle: http://www.heise.de/open/meld…4-Bug-Entwarnung-1736902.html