Linux 5.3 unterstützt weiterhin die Floppy Disc, optimiert Ceph und NFSv4 weiter und bringt unter anderem Änderungen an Grafik- und Dateisystemen sowie Systemaufrufen mit.
In seiner Ankündigung der aktuellen Version 5.3 verdeutlichte Linux-Schöpfer Linus Torvalds seinen Mitentwicklern eine Weisheit aus der Kernel-Entwicklung: Wenn ein Commit existierende Nutzer-Workflows zerstört, gehört er nicht in den Kernel. Er habe diesmal in letzter Minute einen sehr gut funktionierenden Commit vorläufig entfernt, weil dieser einen Bug an ganz anderer Stelle auslöste. Der Code soll zurück in den Kernel fließen, sobald klar ist, wie sich das Problem lösen oder umgehen lässt.
Zu den Änderungen im neuen Kernel: Das Wiederverwenden von Prozess-IDs kann auf Unix-Systemen mitunter Probleme machen, wenn unbekannt ist, in welchem Zustand sich die Prozesse gerade befinden. Die “pidfd” (Process ID File Descriptor) sollen ein wenig bei der Aufklärung helfen. Der neue Systemaufruf “pidfd_open()” sorgt dafür, dass auch mit “fork()” und “clone()” erzeugte Prozesse, die kein “CLONE_PIDFD” verwenden, ansprechbare “pidfd” verwenden. Über die erfährt der Prozessmanager davon, falls ein Child-Prozess ohne Race Condition stirbt.
Updates an Ceph und NFS
Aufregende Neuerungen kündigte Ilja Drjomow für Ceph an. Das unterstützt nun “rbd object-map” und “fast-diff”, die das Lesen, Verwerfen und Anlegen von Snap-Diffs für mitwachsende Images beschleunigen. Zudem unterstützt Ceph jetzt sicherheitsbezogene Extended File Attributes, allerdings bisher nur für SE-Linux.
Auch in Sachen NFS hat sich etwas getan. Das Verzeichnis “/proc/fs/nfsd/clients/” hält nun lange ersehnte Informationen über NFSv4-Clients bereit, etwa zu geöffneten Dateien. Auf der Serverseite darf der Admin zudem den State der Clients nun auch mit voller Härte ändern. Auf der Clientseite kommt NFSv4 nun mit dem speziellen File-Open-Access-Modus von Linux zurecht. Über die Mountoption “nconnect=Anzahl” wird dem NFS-Client zudem erlaubt, mehrere Verbindungen zum Server zu öffnen. Zugleich haben die Entwickler den Statistikcode aktualisiert, damit für alle Verbindungen Daten vorliegen. Nicht zuletzt darf NFSv4 dank eines neuen Mechanismus von Containern ohne Hostnamen verlangen, zumindest einen unverwechselbaren Bezeichner pro Host zu setzen.
AMDs Navi-GPU
Im GPU-Bereich hob David Airlie vor allem den Support für die Navi-GPUs von AMD hervor, der mit einem Schub großer Headerdateien für den Kernel einher ging. Die liefern Support für die neuen RX-5700-Grafikkarten von AMD, die seit Kurzem auf dem Markt sind. Außerdem kündigte Airlie für den Intel-Treiber i915 Support für HDR (High Dynamic Range) sowie für HDMI-I2C-Link an.
Auch für die USB-Schnittstelle gibt es ein größeres Update, das die Einführung des neuen Cadence DRD-Treibers betrifft. DRD steht dabei für Dual-Role Device. Der Cadence-DRD-Treiber für USB 3 lässt sich wahlweise in zwei Modi betreiben, nämlich Peripheral Only und Host Only (“xhci”). Damit zusammen hängt der ebenfalls im Kernel 5.3 RC1 gelandete Support für Tigerlake Devices (“dwc3”) und den neuen “imx7ulp”-Treiber.
No RISC, no fun
Auch für RISC-V hat Kernel 5.3 kleinere Neuerungen im Gepäck. So gibt es für die Architektur Hupepage-Support, also Unterstützung für große, von der CPU allozierte Arbeitsspeicher-Bereiche. Zugleich findet das initiale Pagetable-Setup nun in zwei Phasen statt.
Der Berkeley Packet Filter (BPF) bringt Support für BTF-to-C mit. Die hilfreiche Neuerung erlaubt es, eine Untergruppe von BPF-Type-Formaten als Typendefinitionen in C auszugeben. Nicht nur erhöht das die Lesbarkeit der kryptischen BTF-Ausgaben, darüber lassen sich auch BPF-Programme portierbar machen, weil sie nicht mehr von den Kernel-Headern des Hosts abhängen.
Nicht zuletzt lässt sich die Boot-Kommandozeile nun während eines “kexec”-Kernelaufrufs messen. Das bedeutet, Veränderungen daran fallen im so genannten Measurement-Prozess auf. Der dient der Sicherheit und verwendet unter anderem vom Trusted Platform Module erzeugte Werte, um Manipulationen beim Bootvorgang auf die Schliche zu kommen. Herunterladen lässt sich der neue Kernel auf kernel.org und Github.




