Aus Linux-Magazin 04/2023

Kernel 6.2: Mehr Wi-Fi-7-Support, Nouveau mit Updates, Landlock mausert sich

© animaflorapicsstock / 123RF.com

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

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

  1. Merge-Window-Ende für Linux 6.2: https://lkml.org/lkml/2022/12/25/111
  2. Release Candidate 8 geplant: https://lkml.org/lkml/2023/1/21/298
  3. ACL-API für VFS: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6a518afcc2066732e6c5c24281ce017bbbd85506
  4. Fuse-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=043930b1c8895d626d340decfe9e418f7233edb8
  5. Btrfs: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=149c51f876322d9bfbd5e2d6ffae7aff3d794384
  6. F2FS-News: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=041fae9c105ae342a4245cf1e0dc56a23fbb9d3c
  7. NFS-Clients aktualisiert: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=764822972d64e7f3e6792278ecc7a3b3c81087cd
  8. Networking-Aktualisierungen: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7e68dd7d07a28faa2e6574dd6b9dbd90cdeaae91
  9. USB und Thunderbolt: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=58bcac11fd94f950abc7b8466c5ceac7be07a00e
  10. x86-CPU-Code: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3ef3ace4e2ecf4aa4c8ddff1d35683671a09b05e
  11. Hardware-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a76117f9fa52afcf244d4f1b8d4ce92f3e5ef99
  12. UBSAN für ARM: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4cb1fc6fffe4910845e183d1a2dfe9509ba1062c
  13. RISC-V-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eb67d239f3aa1711afb0a42eab50459d9f3d672e
  14. Kryptografie-Neuerungen: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=64e7003c6b85626a533a67c1ba938b75a3db24e6
  15. SM4-Chiffre: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8129bac60f30936d2339535841db5b66d0520a67
  16. Kernel-News: Kristian Kißling, “Eine Runde weiter”, LM 09/2021, S. 14, https://www.lm-online.de/46569
  17. Landlock-Neuerungen: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=299e2b1967578b1442128ba8b3e86ed3427d3651
  18. EFI: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fc4c9f450493daef1c996c9d4b3c647ec3121509
  19. Barebox-Support: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=631aa744423173bf921191ba695bbc7c1aabd9e0
  20. Cpufreq für Apple-SoC: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=045e222d0a9dcec152abe0633f538cafd965b12b
  21. Perf-Tools: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa4800e31c547ed00681318335ca2298c4bca33a
  22. Hardware-Monitoring-News: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4d03390b5cb97ea8562fcf324106c4735805d558
  23. Grafik-Updates: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a594533df0f6ca391da003f43d53b336a2d23ffa
  24. Linux auf Github: https://github.com/torvalds/linux
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben