Login
Newsletter
Werbung

Fr, 20. Juli 2018, 14:57

Software::Kernel

Linux: Asynchrone bsg-Schnittstelle wird entfernt

Der Treiber für generische SCSI-Geräte im Linux-Kernel, bsg, wird voraussichtlich in Linux 4.19 seine asynchrone Schnittstelle verlieren. Die Entfernung erfolgt wegen Sicherheitsproblemen und ist möglich, weil die Schnittstelle keine bekannten Nutzer hat.

Larry Ewing

Im Linux-Kernel gibt es zwei Treiber für generische SCSI-Geräte. Historisch gab es zuerst den sg-Treiber. 2007 kam, von vielen Benutzern unbemerkt, nach dreijähriger Entwicklungszeit der bsg-Treiber hinzu, der mehr Funktionalität bietet und moderner ist. Beide Treiber können aber sowohl synchron als auch asynchron verwendet werden. Synchron werden die Treiber mit ioctl-Aufrufen angesprochen, asynchron dagegen mit write und read. In beiden Fällen werden komplexe Datenstrukturen ausgetauscht, die mehr oder weniger direkt den SCSI-Kommandos entsprechen. Die Treiber für generische SCSI-Geräte können im Prinzip mit jedem SCSI-Gerät verwendet werden. Für Disk-, CD-ROM- und Bandlaufwerke verwendet man allerdings überwiegend die spezialisierten Treiber.

Mit beiden Treibern gab es in der Vergangenheit schon Sicherheitsprobleme, meist deshalb, weil in den übergebenen Datenstrukturen Zeiger auf weitere Daten im Anwendungsprozess eingebettet sind, die nicht ausreichend überprüft wurden. Die Treiber werden aufgrund ihrer Schnittstellen als latentes Risiko angesehen und es gibt Bemühungen, unter anderem durch Jann Horn, das Risiko zu minimieren. Horn erkannte, dass der Aufruf von release im bsg-Treiber den Zugriff auf beliebigen Speicher ermöglichen kann. Das alarmierte die Entwickler, und es wurde diskutiert, wie das Problem zu beheben sei. Christoph Hellwig machte schließlich den Vorschlag, die asynchrone Schnittstelle von bsg einfach zu entfernen. Dadurch würde der potentiell unsichere Code komplett verschwinden. Nach Recherchen von Horn wird die asynchrone Schnittstelle von keiner bekannten Anwendung genutzt, daher könnte es in diesem Fall möglich sein, die Kompatibilität zu brechen. Die Änderung wird, was bereits sicher ist, in Linux 4.19 kommen und, wie Linus Torvalds befürwortete, auch in ältere Kernel zurückportiert. Nur wenn sich ein Nutzer der Schnittstelle melden sollte, der nicht auf die synchrone Schnittstelle umstellen kann, könnte die Änderung noch einmal in Frage gestellt werden.

Werbung
Kommentare (Insgesamt: 15 || Alle anzeigen )
Re[4]: SCSI (Verfluchtnochmal-05995bd7b, Mo, 23. Juli 2018)
Re[7]: SCSI (Verfluchtnochmal-05995bd7b, Mo, 23. Juli 2018)
Re[3]: SCSI (Kommentator, So, 22. Juli 2018)
Re: SCSI (glasen, So, 22. Juli 2018)
Re[7]: SCSI (och nö, So, 22. Juli 2018)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung