Linux 5.7 verbessert Dateisysteme und Linux-Security-Modul

Samsung engagiert sich mit modernem exFAT-Treiber und Google will intern genutzte Sicherheitstools in den Kernel integrieren.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen
Maskottchen

(Bild: dpa, Tobias Kleinschmidt)

Lesezeit: 4 Min.
Von
  • Oliver Müller
Inhaltsverzeichnis

Mit der Freigabe von Version 5.7 des Linux-Kernels ist die endgültige Unterstützung des exFAT-Dateisystems im Kernel, die die „Übergangslösung“ aus Linux 5.4 ablöst. Lange Zeit hatte Linux das Dateisystem nicht im Kernel unterstützt, da das Damoklesschwert in Form von Patentklagen seitens Microsoft stets über dem exFAT-Support schwebte.

Als Microsoft seine mit exFAT verbundenen Patente im vorigen Jahr für Linux freigab, hielt in Linux 5.4 ein erster exFAT-Treiber Einzug in den Kernel. Basis hierfür war eine ältere Implementierung von Samsung, die zuvor schon in den An­droid-Geräten des koreanischen Herstellers für den exFAT-Support sorgte. Aufgrund von erheblichen Qualitätsmängeln landete der Treiber nur im Staging-Bereich.

Bei der jetzt in 5.7 aufgenommenen exFAT-Unterstützung handelt es sich hingegen um den aktuellen Stand einer modernen Samsung-Implementierung namens „sdFAT“. Der bereits in Android-­Geräten praxiserprobte Code erfuhr in den vergangenen Monaten in Zusammenarbeit mit der Kernel-Community nochmals eine intensive Überarbeitung. Samsungs Linux-Team will den Treiber künftig im Mainline-Kernel pflegen und neue Funktionen zuerst dort veröffentlichen.

Auch beim Dateisystem XFS bewegt sich einiges: Vordergründig gewinnt XFS in Linux 5.7 lediglich eine verbesserte Metadatenprüfung. Im Hintergrund arbeiten die Entwickler allerdings intensiv an „Online-Repair“. Die neue Funktion soll ein beschädigtes Dateisystem reparieren können, während es gemountet ist. Bisher musste ein XFS-Dateisystem zu diesem Zweck ausgehängt sein. Da der neue, aufgeräumte Code bereits wesentliche Weichen für den Reparaturmechanismus stellt, darf in einer der nächsten Kernel-Versionen mit dem Feature gerechnet werden.

Die Entwickler des Dateisystems Btrfs bereiten aktuell die Unterstützung von Zoned Devices vor. Damit soll das Dateisystem für die nächste Generation von Block-Devices fit gemacht werden, die Daten effizienter speichern sollen. Leider ist das Projekt zur Veröffentlichung von 5.7 noch nicht fertig geworden und im Kernel bislang nicht nutzbar.

Die Unterstützung für Intels integrierte Grafikeinheiten vom Typ Tiger Lake „Gen12“ erachten die Entwickler mit dem neuen Kernel-Release als stabil und haben das „experimental“-Flag gestrichen. Fortschritte gab es auch beim vmgfx-Treiber für virtuelle Maschinen unter VMware. Er bereitet den Boden für die 3D-Beschleunigung in virtuellen Maschinen und bringt Kernel-seitig nun alles mit, um OpenGL 4.x in VMs zu ermöglichen.

Von Google floss eine neue Funktion ein, um die Überwachung von Systemen zu verbessern. Dazu bekommt das Linux ­Security Modul (LSM) Eingreifpunkte (Hooks), die eBPF (extended Berkley Package Filter) und darauf laufende Programme nutzen können, um Zugriffe zu protokollieren und zu regeln. Bisher war die Analyse-Infrastruktur von der Zugriffskontrolle getrennt. Der eBPF ist eine virtuelle Maschine im Kernel zur Analyse von Datenströmen.

Mit dem neuen Kernel-Release kann man Prozesse in einer anderen cgroup starten als deren Elternprozess. Zuvor konnten Prozesse erst nach dem Starten in eine andere cgroup umziehen, wofür globale Write-Locks angefordert werden mussten. Der geänderte Systemaufruf clone3() kommt ohne einen solchen Lock aus, was einen Effizienzgewinn bedeutet. Zudem kann ein Prozess oder auch Thread in einer „frozen“ cgroup gestartet werden und ist somit von Beginn an in diesem Zustand.

Ein denkbares Anwendungsszenario ist etwa ein Service-Manager, der neue Services gleich in der zugewiesenen cgroup startet. Ebenso können Thread-­basierte Anwendungen ein geeignetes cgroup-Layout implementieren und Threads in den jeweiligen cgroups er­zeugen.

Der bislang sehr x86-lastige Code im ­UEFI-Bootprotokoll ist in Linux 5.7 von generischem Code abgelöst worden. Dieser ist einfacher zu pflegen und ermöglicht zudem Portierungen auf andere Architekturen. Darauf aufbauend begannen die Vorbereitungen für die EFI-Unterstützung auf RISC-V. Weiterhin konnte die EFI-Unterstützung auf ARM weiter ausgebaut werden. Auf x86 erlaubt der EFI-Code in einem gemischten Modus einen 64-Bit-Kernel aus der 32-Bit-Firmware zu booten.

Nach Überarbeitung des UEFI-Codes ­sollte es mit einem der nächsten Kernel-­Releases möglich sein, auch auf RISC-V EFI-konform zu booten.

(Bild: RISC-V International)

Als Randnotiz sei erwähnt, dass die alte 80-Zeichen-Regel in Linux 5.7 gefallen ist. Zwar wird weiterhin empfohlen, Quelltextzeilen maximal auf 80 Zeichen zu beschränken, aber das ist keine Pflicht mehr.


Dieser Artikel stammt aus c't 14/2020. (ktn)