Kernel 6.2 hat zahlreiche Netzwerk- und WLAN-Updates im Gepäck, verbessert virtuelle und stapelbare Dateisysteme und unterstützt populäre Geräte wie PS4-Controller und Crowdfunding-Spielekonsolen.
Am ersten Weihnachtstag 2022 schloss Linus Torvalds das Merge-Window für den aktuellen Linux-Kernel 6.2 [1]. Der sei vom Umfang größer als sein Vorgänger, gab der Kernel-Chef zu Protokoll, und kündigte Mitte Januar an, dass es wohl einen Release Candidate 8 geben werde: Wegen der Weihnachts- und Neujahrsfeiertage habe man am Anfang des Entwicklungszyklus ein bis zwei Wochen verloren [2].
Änderungen gibt es wie immer am Code der Dateisysteme, auch der virtuellen. Seit Kernel 5.19 arbeiten beispielsweise die Entwickler um Christian Braun an einer API für eine Posix-konforme Access Control List (ACL) für das Virtual File System (VFS). Dafür verwenden die Entwickler die »vfs_get_acl()«-, »vfs_remove_acl()«- und »vfs_set_acl()«-Methoden für Inodes [3]. Mehrere Reparaturen erfuhr das Overlay-Dateisystem OverlayFS, zudem verbesserten dessen Programmierer die Mount-Performance. Fuse, ein weiteres Overlay-Dateisystem, erlaubt es neuerdings, bestimmte Schreibaufträge parallel abzuwickeln [4].
Dateisystem-Updates
Wer sich nicht für stapelbare Filesysteme erwärmt, wird auch bei den herkömmlichen fündig. Nachdem Syzbot und andere Fuzzing-Tests Bugs in Ext4 aufgedeckt hatten, behoben die Entwickler diese flink. Btrfs-Entwickler David Sterba freute sich über Performance-Gewinne und mehr Zuverlässigkeit für RAID 5 und 6 [5].
Neu im Flash-Dateisystem F2FS ist laut Jaegeuk Kim »F2FS_IOC_START_ATOMIC_REPLACE«, eine Variante des Atomic-Write-Features. Es erlaubt, Garantien für Operationen auf Dateien zu geben und ist effizienter als die »AtomicFile«-Implementierung von Android. Ein zusätzlicher blockweiser, altersbasierter Extent Cache im Speicher erlaubt es dem Blockallokierer, Blöcke mit heißen und kalten Daten besser voneinander zu unterscheiden. Nicht zuletzt arbeitet nun die Iteration über verteilte Verzeichnisse fixer [6].
NFS-Clients säubern neuerdings nach einem Login den File-Access-Cache, um ergänzende Gruppeninformationen zwischen Clients und Server zu synchronisieren. Zudem triggern sie die Heuristik für »ls -l« schneller. Dem NFS-Daemon Nfsd haben die Entwickler eine »CB_RECALL_ANY«-Operation spendiert. Sendet der Server sie an die Clients, liefern diese nach eigenem Gusto Delegations zurück. Das soll helfen, Low-Memory-Szenarios zu bewältigen, und signalisiert den Clients, dass sie die maximale Zahl an Delegations erreicht haben, die der Server unterstützt. Zudem wurde die »READ_PLUS«-Operation vereinfacht. Eine neue Kconfig-Option erlaubt es, den Support für das veraltete NFSv2 aus dem Kernel-Build für den Server zu entfernen [7].
Netz und Peripherie
Für den Netzwerkbereich kann Paolo Abeni diverse Änderungen verkünden [8]. Im Kernbereich lassen sich nun aktive Schnittstellen umbenennen. Sogenannte Retpoline-Wrapper für Traffic Control beschleunigen die Performance beim systematischen Abarbeiten von Paketen mithilfe komplexer Warteschlangen. Netfilter führt einen Paketparser für getunnelte Pakete ein.
Früh dran sind die Netzwerkprogrammierer mit dem Wi-Fi-7-Support. In der Folge unterstützt Kernel 6.2 Wi-Fi-7-Geräte von Mediatek nach dem 802.11be-EHT-Standard (Extremely High Throughput) und aktiviert die Wi-Fi-7-Fähigkeit im Treiber »iwlwifi« von Intel. Neu ist auch der Support für die Realtek-Karten »rtw8821cu«, »rtw8822bu«, »rtw8822cu« sowie »rtw8723du«.
Linux 6.2 unterstützt neue Eingabegeräte wie den Dualshock-4-Controller für die Playstation 4 und das Stift-Tablet Deco LW der japanischen Firma XPPen. Im Zuge der üblichen Treiber-Updates für USB und Thunderbolt ging laut Greg Kroah-Hartman unter anderem der Treiber »sususbvga« über Bord, den wohl niemand mehr verwendet. Eine Hilfsfunktion wurde ergänzt und gleich wieder einkassiert, denn sie behinderte den Build-Prozess [9].
Stromaufwärts
In Sachen x86-CPUs trennen die Entwickler den Init-Code für die komplementären Features MTRR (Memory Type Range Register) und PAT (Page Attribute Table) voneinander. Davon profitieren sowohl Virtualisierungsgäste von XEN PV als auch Intels Trust Domain Extensions (TDX), die nur PAT verwenden. Letztlich handelt es sich laut Entwickler Jürgen Gross um Aufräumarbeiten, die hässliche Workarounds für solche Gäste sowie Initialisierungsprobleme beheben. Weiterhin stehen zwei neue Intel-CPUs (“Alder Lake” und “Raptor Lake”) auf der Liste von CPUs mit normalem Energie-Performance-Bias, was bedeutet, dass sie künftig weniger Strom verbrauchen [10].
Für “Meteor Lake”, eine weitere von Intels CPU-Reihen, klappt nun der Support für den Power Management Controller. Auf neueren Modellen des Ideapad Laptop arbeiten zudem mehr Funktionstasten korrekt. Mit dem Lenovo Yoga Tab 3 Pro YT3-X90F (Abbildung 1) und dem Advantech MICA-071 unterstützt der Kernel zudem zwei neue Android-Tablets [11].

Abbildung 1: Ein Gerät aus Lenovos Yoga-Tab-3-Pro-Reihe wird nun ebenfalls von Linux unterstützt. Quelle: Lenovo
Für die ARM-Architektur aktiviert Linux den UBSAN-Support. Das Feature entdeckt zur Kompilierzeit undefiniertes Verhalten im Code. Zudem dürfen sich Entwickler über verbesserte Rückmeldungen bei Kernel-Fehlern freuen [12].
Über das Perf-Subsystem erhält RISC-V Unterstützung für die Performance Monitoring Unit (PMU) von T-Head, einer Firma, die zu Alibaba gehört. Die PMU hilft beim Debuggen von funktionalen und Performance-Problemen. Neben Ftrace für das RV32-Instruction-Set ist nun auch Support für nichtflüchtigen Speicher verfügbar [13].
In Sicherheit
Die von Herbert Xu abgelieferten Kryptografie-Updates umfassen verschiedene API-Änderungen, neue Algorithmen und Treiberaktualisierungen [14]. Eric Biggers hat SM4 in das Fscrypt-Modul eingeführt. Diese chinesische Blockchiffre stellt eine Alternative zu AES dar. Biggers selbst empfiehlt, sie nicht zu verwenden. Was tut sie dann im Kernel? Zum einen sind wohl einige Chinesen dazu gezwungen, SM4 zu verwenden. Zum anderen wanderte es bereits als optionales Feature ohne große Kontroversen in andere Bereiche ein, etwa in die Crypto API, den Wi-Fi-Bereich, TLS, Open SSL und ARMv8-CPUs [15].
Über Landlock wir bereits vor zwei Jahren beim Erscheinen von Linux 5.13 berichtet [16]. Das Security-Modul richtet sich an Anwendungsentwickler. Es sperrt unprivilegierte Userspace-Anwendungen in eine Sandbox, indem es den Zugriff auf Kernel-Objekte wie zum Beispiel Dateihierarchien reguliert. Neu in Landlock ist der File-Truncation-Support, der sowohl »truncate(2)« und »ftruncate(2)« als auch »open(2)« mit dem »O_TRUNC«-Flag abdeckt. Das erweitert laut Entwickler Günther Noack die Zahl der Dateisystemoperationen, die Landlock einschränken kann [17]. Konkret verhindert Landlock über das neue Feature, dass Programme Dateien direkt verändern können.
EFI wird agnostischer
Von Ard Biesheuvel stammen Updates, die teils in Zusammenarbeit mit Distributions- und Bootloader-Entwicklern entstanden sind und darauf abzielen, sinnlose Differenzen zwischen den Architekturen zu entfernen [18]. Konkret geht es darum, wie EFI einen Linux-Kernel bootet und wie es dabei zum Beispiel mit der Kernel-Option »initrd« umgeht.
Apropos Bootloader: Thomas Gleixner schickte ein Update für den x86-Bereich ins Rennen, das den Einsatz eines neuen Bootloaders namens Barebox ermöglicht [19]. Gewöhnlich kommt Barebox auf ARM- und MIPS-Architekturen zum Einsatz, lässt sich jedoch ebenso als EFI-Payload verwenden, um einen überwachten Bootprozess zu erlauben.
Aus dem Bereich Power Management gibt es ebenfalls Neues zu berichten. Der »cpufreq«-Treiber für Apples SoC von Hector Martin bietet P-States an. Martin gehört zu den Entwicklern von Asahi Linux für Apples M1- und M2-Geräte. Daneben erhielten auch viele andere »cpufreq«-Treiber Aktualisierungen [20].
Die Perf-Tools erlauben es, Tracing im Kernel zu betreiben und Performance-Engpässe zu entdecken. Die Entwickler haben den verschiedenen Tools (»perf script«, »perf test«, etc.) Aktualisierungen spendiert. So gibt »perf list« jetzt Events im JSON-Format aus; »perf lock« unterstützt Live-Monitoring von Lock Contention im Kernel und braucht dafür keinen BPF-Support. Das ist hilfreich, da Lock Contention die Performance im Kernel ernsthaft beeinflussen kann [21].
Die neue Spielekonsole OneXPlayer ging aus einer Crowdfunding-Kampagne hervor. Der Hardware-Monitoring-Treiber »hwmon« unterstützt nun bei den Modellen OneXPlayer AMD, mini AMD und mini AMD Pro die Lüfterkontrolle über die verbauten AMD-Sensoren. Für das Intel-Pendant klappt das noch nicht, da die Entwickler die EC-Register noch nicht verstehen. Der Treiber »smpro-hwmon« unterstützt derweil Hardware-Monitoring für Amperes Altra-SoCs, die auf dem SMpro-Coprozessor basieren. Zu den unterstützten Metriken gehören Temperatur, Spannung und Stromstärke [22].
Grafikabteilung
David Airlie freut sich über das neue Accel-Subsystem-Framework [23]. Darin sollen sich künftig Gerätetreiber für Compute Acceleration Devices versammeln, also für Karten, die Machine und Deep Learning beschleunigen. Dass der Code im DRM-Bereich landet, ist keine Überraschung, wenn man weiß, dass es große Überschneidungen zwischen GPUs und Compute Accelerators gibt: Beide können fast dieselbe Infrastruktur verwenden. Der »i915«-Treiber von Intel aktiviert nun standardmäßig den DG2-Chip (“Alchemist”). Nouveau, die freie Alternative zum Nvidia-Treiber, soll dank eines Refactorings stabiler laufen.
Bei Interesse laden Sie Linux 6.2 von Kernel.org oder Github [24] herunter. Haben Sie es nicht so eilig, warten Sie einfach, bis er die Distribution Ihrer Wahl erreicht.
Infos
- Merge-Window-Ende für Linux 6.2: https://lkml.org/lkml/2022/12/25/111
- Release Candidate 8 geplant: https://lkml.org/lkml/2023/1/21/298
- ACL-API für VFS: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6a518afcc2066732e6c5c24281ce017bbbd85506
- Fuse-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=043930b1c8895d626d340decfe9e418f7233edb8
- Btrfs: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=149c51f876322d9bfbd5e2d6ffae7aff3d794384
- F2FS-News: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=041fae9c105ae342a4245cf1e0dc56a23fbb9d3c
- NFS-Clients aktualisiert: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=764822972d64e7f3e6792278ecc7a3b3c81087cd
- Networking-Aktualisierungen: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7e68dd7d07a28faa2e6574dd6b9dbd90cdeaae91
- USB und Thunderbolt: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=58bcac11fd94f950abc7b8466c5ceac7be07a00e
- x86-CPU-Code: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3ef3ace4e2ecf4aa4c8ddff1d35683671a09b05e
- Hardware-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a76117f9fa52afcf244d4f1b8d4ce92f3e5ef99
- UBSAN für ARM: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4cb1fc6fffe4910845e183d1a2dfe9509ba1062c
- RISC-V-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eb67d239f3aa1711afb0a42eab50459d9f3d672e
- Kryptografie-Neuerungen: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=64e7003c6b85626a533a67c1ba938b75a3db24e6
- SM4-Chiffre: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8129bac60f30936d2339535841db5b66d0520a67
- Kernel-News: Kristian Kißling, “Eine Runde weiter”, LM 09/2021, S. 14, https://www.lm-online.de/46569
- Landlock-Neuerungen: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=299e2b1967578b1442128ba8b3e86ed3427d3651
- EFI: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fc4c9f450493daef1c996c9d4b3c647ec3121509
- Barebox-Support: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=631aa744423173bf921191ba695bbc7c1aabd9e0
- Cpufreq für Apple-SoC: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=045e222d0a9dcec152abe0633f538cafd965b12b
- Perf-Tools: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa4800e31c547ed00681318335ca2298c4bca33a
- Hardware-Monitoring-News: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4d03390b5cb97ea8562fcf324106c4735805d558
- Grafik-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a594533df0f6ca391da003f43d53b336a2d23ffa
- Linux auf Github: https://github.com/torvalds/linux






