Login
Newsletter
Werbung

Fr, 17. Oktober 2008, 12:47

e1000e-Problem von Linux 2.6.27 gelöst

Das im September entdeckte Problem, das Intel-Netzwerkchips vom Typ e1000e unbrauchbar machen konnte, wurde in Linux 2.6.27.1 behoben.

Seit September kamen Fehlermeldungen von Benutzern auf, die einen Release-Kandidaten von Linux 2.6.27 getestet hatten und plötzlich nicht mehr das Treibermodul für den Intel-Netzwerkchip e1000e laden konnten. Teilweise wurde bei dem Versuch das EEPROM des Chips überschrieben, was die Netzwerkschnittstelle unbenutzbar machte. Der Schaden scheint reparierbar zu sein, allerdings muss Intel dafür ein Programm veröffentlichen, das das EEPROM wieder herstellt. Zur Zeit ist noch keine Bezugsquelle für das Programm bekannt, aber die Distributoren konnten es schon testen. Nach Angaben von mISDN-Entwickler Karsten Keil (SUSE) hat er das Programm auf Thinkpad-Laptops erfolgreich getestet.

Novell hatte zuerst vor dem Problem gewarnt, doch war schnell klar, dass der Fehler im Kernel liegt und nichts mit der eingesetzten Distribution zu tun hat. Entsprechende Einträge gab es unter anderem in den Bugtracking-Systemen von SUSE, Red Hat und Ubuntu sowie auf kernel.org.

Nachdem eine fieberhafte Suche nach dem Problem begonnen hatte, wurde schnell klar, dass das Problem zwei Aspekte aufwies. Der eine war ein Fehler im (von Intel selbst entwickelten) Treiber, der es ermöglichte, den Inhalt des EEPROMs einfach zu überschreiben, ohne dass eine Sperre dafür existierte. Für Linus Torvalds war dies eindeutig ein peinlicher Fehler im Hardware-Design. Ein Patch von Intel beseitigte das unmittelbare Problem, indem er den Speicher als nicht änderbar markierte.

Der zweite Teil des Problems war eine Speicherkorruption, deren Ursache nicht so schnell gefunden werden konnte. So wurde der offizielle Linux-Kernel 2.6.27 veröffentlicht, obwohl der Fehler noch irgendwo lauerte. Dies war eine pragmatische Entscheidung, da der Fehler nur sporadisch auftrat und nicht leicht zu reproduzieren war. Die fortgesetzte Suche führte nun aber zu einem Erfolg. Die Korruption wurde wohl durch das Entladen des ftrace-Moduls verursacht. ftrace ist ein neues Feature, das erst in Linux 2.6.27 eingeführt wurde. Die jetzt veröffentlichte Version 2.6.27.1 des Kernels geht auf Nummer sicher und sorgt dafür, dass ftrace als unbrauchbar markiert wird und vor der Aktivierung des Features warnt. Eine endgültige Korrektur ist bereits fertig und wird in Linux 2.6.28 kommen.

Keine offizielle Version einer Distribution oder des Kernels stellte somit eine Gefahr für die Hardware dar, eine Gefahr, die ohnehin nur durch die Kombination eines fehlerhaften Hardware-Designs und eines fehlerhaften Treibers möglich wurde. Nach der Behebung des Treiberproblems durch Intel blieb lediglich ein normaler Fehler, wie er grundsätzlich nie auszuschließen ist. Von der Hardware-Stilllegung waren lediglich Alpha- und Betaversionen einiger Distributionen betroffen sowie einige Benutzer, die Testkernel selbst compilieren und einsetzen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung