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.

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


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...



Aktuell auf der Startseite von Golem.de
CS GO mit Source 2
Das ist Valves Counter-Strike 2

Es ist offiziell: Valve stellt Counter-Strike 2 vor. Die Source-2-Engine bringt neues Gameplay und soll klassische Tickraten loswerden.

CS GO mit Source 2: Das ist Valves Counter-Strike 2
Artikel
  1. Akkutechnik: 4695-Akku schafft 40 Prozent mehr Reichweite als Tesla
    Akkutechnik
    4695-Akku schafft 40 Prozent mehr Reichweite als Tesla

    Mit herkömmlichen Fertigungsmethoden und nur 15 mm mehr Höhe baut Akkuhersteller EVE Zellen für BMW, die Teslas 4680 weit überlegen sind.

  2. Autodesign: Hyundai schwört auf physische Knöpfe und Regler
    Autodesign
    Hyundai schwört auf physische Knöpfe und Regler

    Bei Autos gibt es oft Soft-Touch-Buttons, um Kosten zu sparen, doch Hyundai findet das zu gefährlich und setzt weiter auf echte Knöpfe und Regler.

  3. Zoom, Teams, Jitsi: Videokonferenzsysteme datenschutzkonform nutzen
    Zoom, Teams, Jitsi
    Videokonferenzsysteme datenschutzkonform nutzen

    Datenschutz für Sysadmins Gerade die beliebten US-Anbieter sind bei Datenschutzbehörden gar nicht beliebt. Wir erläutern die Anforderungen an Videokonferenzsysteme.
    Ein Bericht von Friedhelm Greis

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Heute besonders viele MindStar-Tagesdeals • Gigabyte RTX 4070 Ti 880,56€ • Crucial SSD 2TB (PS5) 162,90€ • Nintendo Switch inkl. Spiel & Goodie 288€ • NBB Black Weeks: Rabatte bis 60% • PS5 + Resident Evil 4 Remake 569€ • LG OLED TV -57% • Amazon Coupon-Party [Werbung]
    •  /