Long-Term-Release Linux 5.10: Die wichtigsten Neuerungen im Ăśberblick
Seite 2: "Schlafenszeit" fĂĽr manche BPF-Programme
Der BPF (Berkeley Packet Filter) ist seiner ursprünglichen Motivation, Pakete anhand ihres Inhalts flexibel weiterzuleiten, längst entwachsen. Er unterstützt – neben dem modernen Dialekt "extended BPF" (eBPF) – inzwischen Helper-Funktionen, Zugriff auf Datenstrukturen im Kernel- und Userspace sowie die Synchronisation mit Spinlocks. Dennoch hat sich die atomare Natur von BPF-Programmen nicht verändert. Sie müssen alles unterlassen, was einen Thread in einen Sleep versetzt. Aus der Sicht der ursprünglich in der Paketverarbeitung im Network-Stack beheimateten BPF ist das nicht verwunderlich: Netzwerkpakete müssen verarbeitet werden, sobald sie eintreffen, und beim Blockieren oder Schlafen wäre zumindest an dieser Stelle ein Kollaps vorprogrammiert.
Mit Linux 5.10 ist es nun möglich, beim Laden eines BPF-Programms das neue Flag BPF_F_SLEEPABLE mitzugeben, um das Programm als "sleepable" zu markieren. Sinnvoll und zulässig ist das nur bei bestimmten Programmtypen. Diese können dann beispielsweise auch Funktionen wie bpf_copy_from_user() verwenden, um Daten aus dem Userspace in den Kernelspace zu kopieren. Bei Daten aus dem Userspace ist nicht garantiert, dass diese im RAM liegen. Sie müssen gegegenenfalls aus dem Swap eingelagert werden. Daher müssen sich Programme immer "bewusst" sein, dass diese Operation blockiert und der entsprechende Thread dann in den Sleep-Zustand geht. Aus diesem Grund war BPF-Programmen der Zugang zu Funktionen wie copy_from_user() bislang verwehrt – für solche aus der Kategorie "sleepable" ändert sich das jetzt.
Verbesserungen fĂĽr die Dateisysteme
Bislang konnte XFS lediglich mit Datumsangaben bis 2038 umgehen. Mit Linux 5.10 ist das Dateisystem nun in der Lage, Daten bis ins Jahr 2486 abzubilden. Damit wurde wieder eines der wenigen noch verbliebenen Probleme rund um "Year 2038" im Kernel gefixt. Zudem ist vorgesehen, dass XFS V4 im Jahr 2030 ausgemustert wird. Anwender haben damit zehn Jahre lang Zeit, auf das moderne XFS V5 umzusteigen. XFS V5 bietet neben dem Fix fĂĽrs Jahr 2038 auch eine bessere Metadatenvalidierung, unterstĂĽtzt das Reflink-Feature und erlaubt die Online-DateisystemprĂĽfung mittels fsck.
ext4 wartet mit neuen "Fast Commits" auf. Der von Google eingereichte Change richtet sich an ext4-Anwender, die Dateisysteme im Ordered-Mode einhängen ("Option data=ordered"). Das neue Feature verwaltet ein minimales Delta, um die betreffenden Metadaten beim Fast-Commit mit Hilfe des JDB2-Journals wiederherzustellen. Das kann die Schreibgeschwindigkeit um bis zu 103 Prozent im Ordered-Mode beschleunigen, wenn die Fast-Commits aktiv sind.
Auch btrfs kann mit Performance-Verbesserungen in Verbindung mit fsync() glänzen. Ebenso verbessert Linux 5.10 F2FS und den NFS-Client-Code.
Grafik und weitere Features
Die UnterstĂĽtzung fĂĽr Raspberry Pi VC4 ist im Mainline-Kernel angekommen. Der Display-Support fĂĽr Raspberry Pi 4 ist damit einsatzbereit. Grundlage ist Mesa 20.3, das den V3DV-Vulkan-Treiber fĂĽr Raspberry Pi 4 einfĂĽhrt. Im AMD-GPU-Bereich unterstĂĽtzt Linux 5.10 Display Core (DC) fĂĽr GCN 1.0 "Southern Islands"-GPUs.
Linux unterstützt die "AMD Secure Encrypted Virtualization" (SEV) schon seit Kernel 4.15. Damit ist es möglich, den Arbeitsspeicher von Gastsystemen zu verschlüsseln, sodass das Hostsystem auf den Inhalt keinen Zugriff hat und somit nicht ausspähen kann. Im neuen Kernel kommt nun auch die Unterstützung für "Ecrypted State" (SEV-ES) hinzu. Damit werden auch die Inhalte der CPU-Register des Gastsystems verschlüsselt, womit die Abschottung gegenüber dem Host vollständig wird.
Zudem bricht Linux 5.10 mit einem fast 30-jährigen Erbe: Das Ende des unsicheren set_fs()-Mechanismus, der nachfolgenden Userspace-Funktionen Zugriff auf den Kernelspace gestattet, wurde eingeläutet. Die Funktion war in der Vergangenheit mehrfach für Sicherheitslücken verantwortlich. Den Hintergründen haben wir bereits vor einiger Zeit eine eigene ausführliche Meldung gewidmet:
Kleines Streichkonzert
Der ursprĂĽngliche PowerPC 601, und damit das Reanimieren alter "32-Bitter" wie PowerMacs, wird kĂĽnftig nicht mehr unterstĂĽtzt. Ebenfalls dem Rotstift zum Opfer gefallen ist das "IA64 Performance Monitoring". Anwender von Itanium werden dieses Feature allerdings wohl kaum vermissen; es hatte ĂĽber die Jahre nie wirklich funktioniert. ErnĂĽchternd mag eher sein, dass keine BemĂĽhungen mehr unternommen werden, das Feature ĂĽberhaupt noch zum Laufen zu bringen.
Alle Neuerungen listen das Changelog zu Linux 5.10 beziehungsweise das Changelog zum Point-Release 5.10.1 auf.
(ovw)