Eric Anholt: Langsamer Fortschritt bei Raspberry-Pi-Grafiktreiber
Der ehemalige Intel-Angestellte Eric Anholt arbeitet seit ungefähr einem Monat für Broadcom an einem freiem Treiber für den Grafikchip Videocore4 (VC4) und berichtet nun in seinem Blog(öffnet im neuen Fenster) über die eher langsamen Fortschritte. Denn der "sichere Umgang mit den Texturen auf dem VC4 ist einfach nur lästig" , wie er schreibt.
Weiter heißt es, die Inhalte tauchten nicht in dem normalen Kommando-Stream auf, sondern in dem Uniform-Stream(öffnet im neuen Fenster) . Zudem gebe es keine IOMMU(öffnet im neuen Fenster) , so dass nicht darauf vertraut werden könne, dass der Userspace-Teil angebe, wo sich ein Uniform befinde. Denn ansonsten könnten diese "einfach lügen" , physische Adressen übergeben und damit möglicherweise "beliebigen Systemspeicher auslesen" . Das wäre natürlich eine Sicherheitslücke.
So hat Anholt einen Shader-Parser für den Kernel schreiben müssen, der Referenzen auf die Texturen ausgibt und zusätzlich dazu müssen verschiedene Umformungen mit dem Speicher geschehen, damit dieser einfach genutzt werden kann. Statt das im Kernel umzusetzen, hat Anholt den Code zunächst in Mesa verschoben, um die Zeit für einen Testdurchlauf von vorher etwa 10 Minuten auf nun nur noch 15 Sekunden zu reduzieren.
Noch fehlen Validierungen dafür, um zu prüfen, ob die Texturen keinen Speicher außerhalb ihrer Grenzen belegen oder darauf zugreifen. Diese Überprüfungen fehlten außerdem noch für eine Vielzahl weiterer Zeiger und der gesamte Code müsse schließlich wieder in den Kernel eingepflegt werden und die einzelnen Funktionen und deren Werte vorher noch einer Plausibilitätsprüfung unterzogen werden. Sobald dies aber geschehen sei, könne Anholt damit beginnen, die neue 2D-Beschleunigung des X.org X-Servers, Glamor , "auf dem Pi zum Laufen zu bekommen" .
Dank der Zusammenarbeit mit der Raspberry-Pi-Foundation und wohl auch auf Druck der Community des millionenfach verkauften Minirechners hat Broadcom im Frühjahr dieses Jahres bereits Dokumentationen und auch Quellcode zur Grafik des Raspberry Pi veröffentlicht. Dieser Treiber nutzt aber auch Binärcode und ist nur sehr schwer in den Standard-Linux-Stack integrierbar. Mit der Arbeit von Anholt für Broadcom soll ein MIT-lizenzierter Mesa- und Linux-DRM-Treiber erarbeitet werden. Mit diesem ließen sich dann wahrscheinlich weitere Funktionen für das Raspberry Pi umsetzen.
- Anzeige Hier geht es zu Hacking & Security: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.