Abo
  • Services:

Betriebssysteme: Fehler im Linux-Kernel wegen GCC

Ein Fehler hat Abstürze in einer Testversion des Linux-Kernels 3.16rc6 verursacht. Es handelte sich nicht um einen Programmierfehler der Kernel-Entwickler, sondern um einen Bug im Compiler GCC.

Artikel veröffentlicht am ,
Der Compiler GCC verursachte einen Fehler in der Testversion des Linux-Kernels 3.16.
Der Compiler GCC verursachte einen Fehler in der Testversion des Linux-Kernels 3.16. (Bild: Ben Tubby/CC-BY 2.0)

Ein Fehler in der GNU Compiler Collection hat für einen der berüchtigten Wutausbrüche von Linus Torvalds in der Mailingliste des Linux-Kernels gesorgt. Er führte dazu, dass die sechste Testversion des nächsten Linux-Kernels 3.16 sporadisch abstürzte. Der Bug in GCC ist bereits behoben. Allerdings könnten einige aktuelle Linux-Kernel noch fehlerhaft generierten Code enthalten.

Stellenmarkt
  1. Deloitte, München
  2. Fresenius Netcare GmbH, Bad Homburg

Aufgefallen war der Fehler in einer Testversion des Linux-Kernels 3.16rc6, der mit GCC 4.9.0 kompiliert wurde. Der Entwickler berichtete von zufälligen Abstürzen der Funktion Load_Balance() im Scheduler des Kernels. Zunächst konnte das Problem nicht lokalisiert werden. Torvalds entdeckte die Ursache etwa eine Woche später. Der mit GCC 4.9.0 generierte Code enthielt einen Fehler, wodurch der Kernel auf Speicher in der sogenannten Red Zone zugreifen konnte.

Dieser 128 Bytes große Speicherbereich direkt unterhalb des Stapelzeigers kann von Anwendungen reserviert werden. Im Kernel ist das nicht der Fall, da Hardware spezielle Berechtigungen benötigt, um auf Stapelspeicher zuzugreifen. Daher wurde zumindest zeitweilig bei der Kompilierung des Kernels der Schalter -mno-red-zone verwendet, um das Red-Zoning abzuschalten. GCC ignorierte jedoch den Schalter in bestimmten Konfigurationen. Das führte dazu, dass Daten von anderen Interrupts in der Red Zone überschrieben werden konnten.

Nachdem Torvalds GCC 4.9.0 als "komplette Scheiße" bezeichnet hatte, begannen die sachliche Ursachenforschung und Fehlerbehebung. Es stellte sich heraus, dass der Fehler bereits behoben war, der Patch aber noch nicht in aktuelle Versionen von GCC umgesetzt wurde, auch nicht in Version 4.9.1. Er bestand wohl seit GCC 4.5, war aber bis dahin nicht aufgefallen. Erst durch Codeänderungen in GCC 4.9.0 trat er zum Vorschein. Die meisten Linux-Distributionen verwenden gegenwärtig GCC 4.8, um ihre Kernel zu kompilieren.



Anzeige
Hardware-Angebote
  1. 105,85€ + Versand
  2. 39,99€ statt 59,99€

UNIXOID 29. Jul 2014

Eines ist ziemlich sicher, IHR werdet es nie verstehen... EUCH hat die Microsoft und...

sektion31 29. Jul 2014

Da Linus selbst für Linux kaum noch codet (ja lyncht mich ich sage und schreibe das so...

George99 28. Jul 2014

Lass mich raten: Studiengang Informatik für BWLer? :D *SCNR*

SelfEsteem 28. Jul 2014

Man sollte Phoronix imho anders lesen. Bei Phoronix erfaehrt man eigentlich nur, "dass...

Scorcher24 28. Jul 2014

... und ist wohl eine finnische Eigenart. Wusste das vorher auch nicht. http://www.reddit...


Folgen Sie uns
       


Conan Exiles - Livestream

Im Survival-MMO Conan Exiles darf ein barbarischer Golem(.de-Redakteur) nicht fehlen. Im Livestream schaffen wir es mit tatkräftiger Unterstützung unserer Community (Danke!) bis in die neue Region der Sümpfe.

Conan Exiles - Livestream Video aufrufen
Ryzen 5 2600X im Test: AMDs Desktop-Allrounder
Ryzen 5 2600X im Test
AMDs Desktop-Allrounder

Der Ryzen 5 2600X ist eine der besten sechskernigen CPUs am Markt. Für gut 200 Euro liefert er die gleiche Leistung wie der Core i5-8600K. Der AMD-Chip hat klare Vorteile bei Anwendungen, das Intel-Modell in Spielen.
Ein Test von Marc Sauter

  1. Golem.de-Livestream Wie gut ist AMDs Ryzen 2000?
  2. RAM-Overclocking getestet Auch Ryzen 2000 profitiert von schnellem Speicher
  3. Ryzen 2400GE/2200GE AMD veröffentlicht sparsame 35-Watt-APUs

Xbox Adaptive Controller ausprobiert: 19 x Klinke, 1 x Controller, 0 x Probleme
Xbox Adaptive Controller ausprobiert
19 x Klinke, 1 x Controller, 0 x Probleme

Microsoft steigt in den Markt der zugänglichen Geräte ein. Der Xbox Adaptive Controller ermöglicht es Menschen mit temporärer oder dauerhafter Bewegungseinschränkung zu spielen, ohne enorm viel Geld auszugeben. Wir haben es auf dem Microsoft Campus in Redmond ausprobiert.
Von Andreas Sebayang

  1. Firmware Xbox One erhält Option für 120-Hz-Bildfrequenz
  2. AMD Freesync Xbox One erhält variable Bildraten
  3. Xbox One Streamer können Gamepad mit Spieler teilen

Wonder Workshop Cue im Test: Der Spielzeugroboter kommt ins Flegelalter
Wonder Workshop Cue im Test
Der Spielzeugroboter kommt ins Flegelalter

Bislang herrschte vor allem ein Niedlichkeitswettbewerb zwischen populären Spiel- und Lernrobotern für Kinder, jetzt durchbricht ein Roboter für jüngere Teenager das Schema nicht nur optisch: Cue fällt auch durch ein eher loseres Mundwerk auf.
Ein Test von Alexander Merz


      •  /