Nach zwei Monaten Entwicklung stellte Linus Torvalds die Version 7.3 des Linux-Kernels vor. Zu den auffĂ€lligsten Ănderungen gehören: ein Isolationsmechanismus fĂŒr das Dateisystem auf Basis des Pseudodateisystems failfs und des Systemaufrufs fchroot(), UnterstĂŒtzung fĂŒr die Erstellung von verschachtelten Zeitplanern SCHED_EXT, BPF-Handler zum Starten von ausfĂŒhrbaren Dateien, alternative Datenströme in NTFS3, Leistungsoptimierungen fĂŒr FUSE, Btrfs und Ext4, UnterstĂŒtzung von Apple Time Machine in ksmbd, Entfernung des Dateisystems EFS und FreeVxFS, ein Modus fĂŒr den direkten Zugriff auf BlockgerĂ€te, Verbesserungen bei der Verarbeitung von VideorasterspeicherengpĂ€ssen, Verfolgung von Speicherzugriffen in der Gastsystemumgebung ĂŒber userfaultfd, Komprimierung von AppArmor-Regeln, EinschrĂ€nkung des Zugriffs auf AF_ALG sowie UnterstĂŒtzung fĂŒr Apple M3 Pro-, Max- und Ultra-Chips.
In die neue Version wurden 20260 Korrekturen von 3171 Entwicklern aufgenommen, von denen 807 erstmals ihre Ănderungen in den Kernel eingereicht haben. Die PatchgröĂe betrĂ€gt 63 MB (Ănderungen betrafen 14923 Dateien, 943849 Codezeilen wurden hinzugefĂŒgt,
297515 Zeilen wurden entfernt). In der vorherigen Version wurden 17833 Korrekturen von 2766 Entwicklern vorgenommen, die PatchgröĂe betrug 68 MB. Etwa 44 % aller in 7.3 eingereichten Ănderungen beziehen sich auf GerĂ€tetreiber, etwa 12 % haben mit der Aktualisierung von architekturspezifischem Code zu tun, 12 % betreffen den Netzwerkstack, 5 % die Dateisysteme und 3 % interne Kernsubsysteme.
Die wichtigsten Neuerungen im Kernel 7.3 (1, 2, 3):
- Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
- Die Leistung des Btrfs-Dateisystems wurde optimiert. FĂŒr Nicht-SSD-Speichermedien wurde eine ĂŒberflĂŒssige Verzögerung entfernt, was zu einer fĂŒnfmal höheren Durchsatzrate fĂŒr Lasten mit aktiver Nutzung der Funktion fsync fĂŒhrte, wie z.B. beim Schreiben von Protokollen. In fsync wurde die Erkennung von LĂŒcken in Dateien mit vielen Extents und ohne LĂŒcken deaktiviert, was die AusfĂŒhrung einiger spezifischer Tests um das FĂŒnffache beschleunigte.
Bei der Verfolgung nicht-cachbarer Buffers von Extents wurde die Struktur xarray durch eine lokale LRU-Liste ersetzt, was zu einer Leistungssteigerung dieser Operationen um das Dreifache fĂŒhrte. LeistungseinbrĂŒche im Modus fĂŒr direkten Ein-/Ausgabe wurden beseitigt, die durch RĂŒckschritte in frĂŒheren Kernel-Versionen verursacht wurden. Die Sperren beim vorzeitigen Lesen von Extents wurden verringert, was die Overheadkosten beim Zugriff verschiedener Aufgaben auf ĂŒberlappende Bereiche reduzierte.
- In Btrfs wurde die UnterstĂŒtzung der ersten Version des Caches mit Informationen ĂŒber den freien Speicher entfernt. Dateisysteme, die auf alten Systemen erstellt wurden, mĂŒssen mit dem Tool btrfstune in die zweite Version des Caches umgewandelt werden, da sie sonst langsamer laufen. Die Option âusebackuprootâ zum Mounten wurde ebenfalls entfernt; stattdessen sollte ârescue=usebackuprootâ verwendet werden.
- Im Ext4-Dateisystem wurde die Leistung paralleler SchreibvorgĂ€nge bei direktem Input/Output (Direct I/O) verbessert und das Reservieren leerer Bereiche ĂŒber den Aufruf von fallocate() beschleunigt. Ein RĂŒckschritt, der die Leistung bei gepuffertem Schreiben verringerte, wurde behoben.
- Im Ext4-Dateisystem wurde der Mount-Modus âdata=journalâ als veraltet eingestuft. Die UnterstĂŒtzung dieser Mount-Option soll 2028 eingestellt werden. Die Option âdata=journalâ ermöglicht einen vollstĂ€ndigen Journal-Modus, bei dem sowohl Metadaten als auch Daten in das Journal geschrieben werden, was hohe StabilitĂ€t im Falle von AusfĂ€llen gewĂ€hrleistet, aber die Wartung des Codes erschwert und zu einem signifikanten Leistungsverlust im Vergleich zu den Modi âdata=orderedâ und âdata=writebackâ fĂŒhrt.
- Das EFS-Dateisystem wurde entfernt, das in frĂŒhen Versionen von IRIX verwendet wurde, etwa vor 30 Jahren. Es wird seit ĂŒber 20 Jahren nicht mehr unterstĂŒtzt. FĂŒr diejenigen, die Zugriff auf Partitionen mit EFS benötigen, stehen Dienstprogramme zur VerfĂŒgung, die im Benutzerspeicher arbeiten.
- Das FreeVxFS-Dateisystem, das das Format des VERITAS VxFS-Dateisystems implementierte und in SCO UnixWare in den 1990er Jahren verwendet wurde, wurde entfernt; es wird seit langem nicht mehr praktisch genutzt.
- Im Mechanismus zur Erstellung von Dateisystemen im Benutzerspeicher FUSE wurde die Leistung verbessert und der Speicherverbrauch bei Verwendung des asynchronen I/O-Systems io_uring reduziert. Diese Beschleunigung wurde durch die Möglichkeit erreicht, Puffer-Pools vom Benutzerspeicher in den Kernel zu ĂŒbertragen und ĂŒberflĂŒssige Pufferspeicherung (zero-copy) zu beseitigen, wenn der FUSE-Server auf die Speicherseiten des Klientenprozesses oder den Seiten-Cache zugreift.
- FĂŒr BlockgerĂ€te wurde das Flag RWF_DONTCACHE implementiert, das dem Modus fĂŒr direktes Input/Output Ă€hnelt.
(Direct I/O), das in den Funktionen preadv2() und pwritev2() oder in Lese- und Schreibanfragen ĂŒber io_uring verwendet werden kann, um auf ein BlockgerĂ€t umgehend und ohne Cache zuzugreifen. Zum Beispiel kann das Flag in Datenbankverwaltungssystemen fĂŒr die Low-Level-Arbeit mit BlockgerĂ€ten verwendet werden. - Im Overlay-Dateisystem overlayfs wurde die UnterstĂŒtzung fĂŒr das Mapping von Benutzeridentifikatoren hinzugefĂŒgt, um Dateien eines bestimmten Benutzers auf einem fremden gemounteten Bereich mit einem anderen Benutzer im aktuellen System abzugleichen.
- Die UnterstĂŒtzung fĂŒr das Mounten mehrerer Dateisysteme von einem BlockgerĂ€t wurde verbessert.
- Im ntfs3-Treiber wurde eine grundlegende UnterstĂŒtzung fĂŒr alternative Datenströme implementiert, die im Dateinamen durch einen Doppelpunkt getrennt werden. Um einen neuen alternativen Stream zu erstellen, kann der Befehl âtouch file:streamâ verwendet werden, zum Lesen âcat file:streamâ, zum Löschen ârm file:streamâ und um verfĂŒgbare Streams anzuzeigen âcat file:query_streamsâ.
- In der neuen Implementierung von NTFS (ntfsplus) im Nur-Lese-Modus wurde die UnterstĂŒtzung fĂŒr die transparente Dateikompression unter Verwendung von Overlay-Filtern WOF (Windows Overlay Filter) hinzugefĂŒgt.
- Der NFS-Server hat die UnterstĂŒtzung fĂŒr die Operation CB_NOTIFY hinzugefĂŒgt, die es dem Client ermöglicht, Metadaten von Verzeichnissen auf seiner Seite zu cachen und Benachrichtigungen ĂŒber Ănderungen vom Server zu erhalten.
- Im F2FS-Dateisystem wurde die UnterstĂŒtzung fĂŒr das dynamische (ohne AushĂ€ngen des Dateisystems) Entfernen von Partitionen aus einem gemeinsamen Pool mit automatischer Datenverschiebung auf andere Partitionen und RĂŒckfĂŒhrung (beispielsweise kann ein SpeichergerĂ€t vorĂŒbergehend fĂŒr andere Zwecke entnommen werden) hinzugefĂŒgt.
- In XFS wurde die UnterstĂŒtzung fĂŒr das Flag FALLOC_FL_WRITE_ZEROES im Systemaufruf fallocate() hinzugefĂŒgt, das es ermöglicht, einen angegebenen Bereich in einer Datei mit Nullen zu fĂŒllen, indem der von einigen SSDs unterstĂŒtzte Befehl WRITE_ZERO verwendet wird, der das Nullsetzen ohne E/A-Operationen durchfĂŒhrt.
- Die Leistung des Btrfs-Dateisystems wurde optimiert. FĂŒr Nicht-SSD-Speichermedien wurde eine ĂŒberflĂŒssige Verzögerung entfernt, was zu einer fĂŒnfmal höheren Durchsatzrate fĂŒr Lasten mit aktiver Nutzung der Funktion fsync fĂŒhrte, wie z.B. beim Schreiben von Protokollen. In fsync wurde die Erkennung von LĂŒcken in Dateien mit vielen Extents und ohne LĂŒcken deaktiviert, was die AusfĂŒhrung einiger spezifischer Tests um das FĂŒnffache beschleunigte.
- Speicher und Systemdienste
- Die Verarbeitung von VideostspeicherengpĂ€ssen wurde verbessert. Im Falle eines erschöpften freien Videostspeichers versucht der Kernel nun, aus dem Video-RAM in den Systemspeicher (GTT) die Speicherpuffer von Anwendungen zu verdrĂ€ngen, die keine garantierte Speicherkontingente (dmem cgroup) haben, anstatt sofort die Zuweisung von Videostspeicher zu verweigern. Dieser Ansatz gewĂ€hrleistet die Zuweisung von Ressourcen an eine Anwendung, der das System ein bestimmtes Volumen an Videostspeicher reserviert hat, selbst wenn dieser Speicher bereits anderen Anwendungen zugewiesen ist. Zuvor, wenn einer Anwendung ohne Kontingente Videostspeicher zugewiesen war, konnte eine Anwendung mit garantierten Kontingenten diesen im Falle eines Videostspeicherengpasses nicht erhalten, und stattdessen wurde ĂŒber das TTM-Subsystem (Translation Table Maps) langsamerer Systemspeicher zugewiesen, der aus dem GPU (GTT) adressiert wird.
Die UnterstĂŒtzung von dmem cgroup wurde fĂŒr die Treiber nouveau, xe und amdgpu implementiert. - Im SCHED_EXT-Mechanismus, der die Verwendung von BPF zur Erstellung von CPU-Planern ermöglicht, wurde die Arbeit an der Möglichkeit zur Erstellung von verschachtelten Planern (sub-scheduler) abgeschlossen, mit deren Hilfe fĂŒr jede cgroup ein eigener Task-Planer genutzt werden kann.
- Es wurden Verbesserungen am Task-Planer vorgenommen, die mit der Verarbeitung von cgroups und der Lösung von Problemen bei der Gewichtung verbunden sind, die zu zusĂ€tzlichen Ăberkopf- und Verzögerungskosten fĂŒhrten. Es wurden mehrere Methoden zur Gewichtung von cgroups vorgeschlagen - 'up', 'max', 'concur' und 'tasks', die ĂŒber den Parameter cgroup_mode eingestellt werden. Es wurde eine einheitliche AusfĂŒhrungswarteschlange (runqueue) fĂŒr die Planung von Aufgaben innerhalb der cgroup aktiviert. Die Verzögerungen bei der Planung von Aufgaben, die kurze ZeitquantitĂ€ten an CPU-Zeit zugewiesen bekommen, wurden verringert, dank der
Möglichkeit, bei Bedarf die AusfĂŒhrung von Aufgaben, die vor VerdrĂ€ngung geschĂŒtzt sind, abzubrechen, zu aktualisieren oder zu minimieren. - Im binfmt_misc-Mechanismus (/proc/sys/fs/binfmt_misc) wurde implementiert
Die Möglichkeit, BPF-Handler zu verbinden, um die UnterstĂŒtzung neuer ausfĂŒhrbarer Dateiformate hinzuzufĂŒgen. Die Ănderung ermöglicht es, programmgesteuert zum Zeitpunkt jedes Starts den Typ der ausfĂŒhrbaren Datei zu analysieren und den entsprechenden Interpreter oder dynamischen Loader ohne Hacks wie die Verwendung des Tools patchelf und SkripthĂŒlsen auszuwĂ€hlen. Beispielsweise können in einem BPF-Programm ausfĂŒhrbare Dateien fĂŒr andere Architekturen oder Plattformen definiert und die entsprechenden Emulatoren oder Wine gestartet werden, sowie die Organisation des Starts von ausfĂŒhrbaren Dateien in Paketen, die in verschiedenen Verzeichnissen in Systemen mit dem Paketmanager Nix installiert sind, vereinfacht werden. - Der Transfer der Ănderungen aus dem Rust-for-Linux-Branch wurde fortgesetzt, die die Verwendung der Programmiersprache Rust als zweite Sprache fĂŒr die Entwicklung von Treibern und Kernmodulen betreffen (die Rust-UnterstĂŒtzung ist standardmĂ€Ăig nicht aktiv und fĂŒhrt nicht zur Einbeziehung von Rust in die obligatorischen Build-AbhĂ€ngigkeiten des Kerns). Es besteht nun die Möglichkeit, Rust fĂŒr die PowerPC-Architektur zu verwenden. Implementiert wurden: ein Modul fĂŒr ganzzahlige Umwandlungen ohne Verlust, ein Modus fĂŒr obfuskiertes Protokollieren von Pointerwerten zur Verhinderung von Lecks von Informationen ĂŒber den Adressraum, eine Wrapper-Funktion ĂŒber synchronize_rcu(), Speicherbarrieren, ein Interrupt-Modul zum Aktivieren/Deaktivieren von Unterbrechungen, Typen fĂŒr Ein- /Ausgabe, Wrapper ĂŒber fwctl, der SRCU-Mechanismus (sleepable read-copy-update), Wrapper ĂŒber gem shmem.
Spinlock-Sperren SpinLockIrq, die Unterbrechungen in kritischen Abschnitten verhindern. - Ein sysctl-Parameter syscall_user_dispatch wurde hinzugefĂŒgt, um die Aktivierung des Dispatch-Modus fĂŒr Systemaufrufe im Benutzerspeicher zu steuern, was einem Prozess ermöglicht, die Systemaufrufe eines anderen Prozesses abzufangen (wird in Wine verwendet, um Windows-Systemaufrufe zu emulieren).
- In BPF wurde die Funktion bpf_sock_read_xattr() hinzugefĂŒgt, durch die BPF-Programme die vom Benutzer festgelegten erweiterten Attribute lesen können.
(user.*) aus den Inode-Sockets. In BPF-Anwendungen besteht die Möglichkeit, globale Variablen zu definieren, die an die CPU gebunden sind. Im Verifier von BPF-Programmen wurden zusĂ€tzliche Informationen ĂŒber entdeckte Fehler bereitgestellt, die die Ursachen von Problemen leichter identifizierbar machen. - In den Trace-Mechanismen kprobes, uprobes und fprobes wurde die UnterstĂŒtzung fĂŒr Typumwandlungen implementiert, indem BTF-Daten (BPF Type Format) mit Informationen zur TypprĂŒfung im Pseudocode BPF verwendet werden, sowie die Extraktion von Variableninformationen verbessert.
- Im DAMON (Data Access MONitor)-Subsystem, das den Zugriff von Prozessen auf Daten im Arbeitsspeicher ĂŒberwacht (z. B. um herauszufinden, auf welche Bereiche des Speichers ein Prozess zugegriffen hat und welche Bereiche ungenutzt geblieben sind), wurde die Möglichkeit hinzugefĂŒgt, Ănderungen der Datenattribute (anonymer Speicher, in den Speicher gemappte Dateien, Nur-Lese-Zugriff, keine Zugriffe auf den Speicher usw.) zu ĂŒberwachen.
- Im KHO-Mechanismus (Kexec HandOver), der zum Starten eines neuen Kernels aus einem alten verwendet wird, ohne den Systemzustand zu verlieren, wird die BerĂŒcksichtigung der Allokation von groĂen Seiten (huge pages) wĂ€hrend des Bootvorgangs sichergestellt. Solche Seiten werden nun markiert und nach dem Start des neuen Kernels gespeichert.
- Der Low-Level-Code des Swap-Systems wurde auf eine neue Low-Level-Datenstruktur swap_ops umgestellt, die die Wartung des Codes vereinfacht und die benötigten Abstraktionen zur Erweiterung der FunktionalitÀt in der Zukunft implementiert.
- Neue ioctl-Befehle ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT und ALLOCINFO_IOC_GET_NEXT wurden hinzugefĂŒgt, die eine selektive Ăbertragung von Profilierungsdaten zur Speicherallokation in den Benutzerraum ermöglichen. Im Vergleich zur zuvor verfĂŒgbaren Schnittstelle /proc/allocinfo ermöglichen die vorgeschlagenen ioctl-Aufrufe eine bis zu 20-fache Steigerung der Profilierungsanfrage-Leistung durch Filterung ĂŒberflĂŒssiger Daten.
- Die Verarbeitung von VideostspeicherengpĂ€ssen wurde verbessert. Im Falle eines erschöpften freien Videostspeichers versucht der Kernel nun, aus dem Video-RAM in den Systemspeicher (GTT) die Speicherpuffer von Anwendungen zu verdrĂ€ngen, die keine garantierte Speicherkontingente (dmem cgroup) haben, anstatt sofort die Zuweisung von Videostspeicher zu verweigern. Dieser Ansatz gewĂ€hrleistet die Zuweisung von Ressourcen an eine Anwendung, der das System ein bestimmtes Volumen an Videostspeicher reserviert hat, selbst wenn dieser Speicher bereits anderen Anwendungen zugewiesen ist. Zuvor, wenn einer Anwendung ohne Kontingente Videostspeicher zugewiesen war, konnte eine Anwendung mit garantierten Kontingenten diesen im Falle eines Videostspeicherengpasses nicht erhalten, und stattdessen wurde ĂŒber das TTM-Subsystem (Translation Table Maps) langsamerer Systemspeicher zugewiesen, der aus dem GPU (GTT) adressiert wird.
- Virtualisierung und Sicherheit
- Ein neuer Isolationsmechanismus wurde vorgeschlagen, der den Zugriff auf den Inhalt von Dateisystemen blockiert, mit Ausnahme der Ressourcen, die ausdrĂŒcklich ĂŒber Dateideskriptoren in die Sandbox-Umgebung ĂŒbergeben wurden. Der Mechanismus wird durch ein Pseudo-Dateisystem failfs und den Systemaufruf fchroot realisiert.
Das Pseudo-Dateisystem failfs Ă€hnelt dem Dateisystem nullfs, implementiert jedoch im Gegensatz zu diesem das Prinzip "nichts wird unterstĂŒtzt" anstelle von "nichts wird gespeichert". Diese Eigenschaft erlaubt es nicht, etwas ĂŒber failfs zu mounten, Dateisysteme zu klonen oder den Zustand ĂŒber statmount(), listmount(), /proc//mountinfo und /proc/filesystems zu verfolgen. Wenn sich das Wurzel- oder Arbeitsverzeichnis eines Prozesses in failfs befindet, werden alle Versuche zur Navigation durch das Dateisystem mit absoluten Dateipfaden, symbolischen Links und relativen Pfaden, die vom aktuellen Arbeitsverzeichnis abhĂ€ngen, blockiert. Dem Prozess bleibt nur die Möglichkeit, auf ein bestimmtes Verzeichnis ĂŒber Dateideskriptoren zuzugreifen, die vor der Isolation geöffnet wurden.
Ein Systemaufruf fchroot wurde hinzugefĂŒgt, um in den neuen Isolierungsmodus zu wechseln. Dieser Ă€hnelt dem Systemaufruf chroot, arbeitet jedoch auf der Ebene der Dateideskriptoren. Im Systemaufruf fchdir wurde das Flag FD_FAILFS_ROOT hinzugefĂŒgt, um das Arbeitsverzeichnis des Prozesses im Dateisystem failfs zu verschieben.
Ein Ă€hnliches Flag ist im Systemaufruf fchroot verfĂŒgbar. - Die Möglichkeit wurde hinzugefĂŒgt, Zugriffe auf den Speicher des Gastbetriebssystems ĂŒber den Mechanismus userfaultfd zu verfolgen. Dieser erlaubt es, Handlers fĂŒr Zugriffe auf nicht zugewiesene oder geschĂŒtzte Speicherseiten im Benutzermodus zu erstellen. In der Praxis ermöglicht die vorgeschlagene Funktion dem Hypervisor, Speicherseiten zu identifizieren, auf die in der virtuellen Maschine nicht zugegriffen wurde, um sie in einen langsameren Speicher oder ein externes SpeichergerĂ€t auszulagern. Um VerstöĂe gegen das Lese- und Schreibverbot im ĂŒberwachten Speicherbereich zu verfolgen, wurde das Flag UFFDIO_REGISTER_MODE_RWP hinzugefĂŒgt, das als leistungsstĂ€rkere Alternative zur Verwendung von mprotect(PROT_NONE) zusammen mit einem Signal-Handler, der bei einem Zugriff auf geschĂŒtzten Speicher generiert wird, verwendet werden kann (bei userfaultfd wird eine Ausnahme ausgelöst, die im Benutzermodus behandelt wird). Die Ănderung wurde mit Hilfe von AI (âAssisted-by: Claude:claude-opus-4-6â) vorbereitet.
- Die Trennung zwischen Kernel-Threads (kthread) und dem Init-Prozess (PID 1) wurde verstÀrkt. Zuvor wurde in Kernel-Threads und in PID 1 ein gemeinsamer Zustand des Dateisystems verwendet.
was die Umstellung des FS-Status fĂŒr alle Kernel-Threads ĂŒber den Aufruf pivot_root() ermöglichte. In der neuen Version wird im PID 1 eine vollstĂ€ndig separate Struktur fs_struct verwendet, und die Kernel-Threads sind in einem separaten Mount-Punkt mit nullfs isoliert. - In die integrierte Kryptographiebibliothek (libcrypto) wurde UnterstĂŒtzung fĂŒr die AES-VerschlĂŒsselungsmodi â ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM und CCM â hinzugefĂŒgt.
- Im System der mandatorischen Zugriffskontrolle AppArmor wurde die Möglichkeit zur Verwendung von komprimierten Regelsets implementiert und ein PrĂŒfmodus hinzugefĂŒgt.
- Ein sysctl-Parameter af_alg_restrict wurde hinzugefĂŒgt, der den Zugriff auf die kryptografische API AF_ALG aus dem Benutzermodus steuert. AF_ALG ermöglicht den Einsatz von Hardware-Beschleunigern fĂŒr kryptografische Berechnungen in der Crypto API des Kernels, wird jedoch in recht spezifischen Situationen verwendet und bietet nicht immer einen Leistungszuwachs im Vergleich zur Implementierung der Beschleunigung im Benutzermodus. Dabei wurden in den mit AF_ALG verbundenen Handlern eine Reihe von SicherheitsanfĂ€lligkeiten wie Copy Fail festgestellt, die es ermöglichen, Daten im Seiten-Cache zu verĂ€ndern. Um die AngriffsflĂ€che zu verringern, ist der Zugriff auf AF_ALG standardmĂ€Ăig teilweise eingeschrĂ€nkt. Es wird geprĂŒft, ob AF_ALG in einer der kommenden Versionen entfernt werden kann.
- Die ĂberprĂŒfung von BPF-Programmen, die mit einer digitalen Signatur signiert sind, wurde verschĂ€rft. Eine IntegritĂ€tsprĂŒfung der Metadaten des BPF-Programms wurde vor dessen Laden hinzugefĂŒgt.
- Im Systemaufruf landlock_restrict_self(), der zur Aktivierung von Landlock-Sperren verwendet wird, wurde ein Flag hinzugefĂŒgt.
LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS, das dem aktuellen Prozess das Erlangen neuer Privilegien untersagt. Der Mechanismus Landlock ermöglicht es privilegierten Programmen, nicht benötigte Privilegien abzulegen und dadurch ihren weiteren Zugriff auf das System freiwillig einzuschrĂ€nken, um die Sicherheit zu erhöhen, beispielsweise zum Schutz im Falle von Ausnutzungsversuchen von SicherheitsanfĂ€lligkeiten in einem Programm. - Im VirtIO-GPU-Treiber, der den Betrieb der virtuellen GPU ermöglicht, wurde UnterstĂŒtzung fĂŒr den Schlafmodus S4 (Hibernate) hinzugefĂŒgt.
- Ein neuer Isolationsmechanismus wurde vorgeschlagen, der den Zugriff auf den Inhalt von Dateisystemen blockiert, mit Ausnahme der Ressourcen, die ausdrĂŒcklich ĂŒber Dateideskriptoren in die Sandbox-Umgebung ĂŒbergeben wurden. Der Mechanismus wird durch ein Pseudo-Dateisystem failfs und den Systemaufruf fchroot realisiert.
- Netzwerksubsystem
- Im ksmbd, dem in den Kernel integrierten Server fĂŒr das SMB-Protokoll, wurde die UnterstĂŒtzung fĂŒr Apple Time Machine-Erweiterungen hinzugefĂŒgt, die von macOS ĂŒber diese Anwendung erstellte Backups speichern. Ein Mechanismus zur Isolierung von SMB-Befehlsfolgen in Verbindung mit MessageId wurde implementiert, um Angriffe durch das Senden ungĂŒltiger oder duplizierter Anfragen zu blockieren. Die UnterstĂŒtzung fĂŒr das Senden von Wiederholungsanfragen ĂŒber das SMB3-Protokoll wurde ohne Unterbrechung des Sitzungsstatus hinzugefĂŒgt, wenn die vorherige Anfrage verloren ging. In SMB3 wurde die Möglichkeit der VerschlĂŒsselung auf Ebene einzelner gemeinsamer Speicherorte (shares) implementiert. Zudem wurde die UnterstĂŒtzung fĂŒr die VerschlĂŒsselung des SMB Direct Kommunikationskanals eingefĂŒhrt, der die RDMA-Technologie (Remote Direct Memory Access) nutzt.
- Die Verwendung von TCP-Paketen mit der Erweiterung BIG TCP wurde implementiert, die die maximale GröĂe eines TCP-Pakets auf 4 GB in UDP-Tunneln basierend auf den Protokollen VXLAN und GENEVE erhöht.
- Die UnterstĂŒtzung fĂŒr die Weiterleitung des MCTP-Protokolls (Management Component Transport Protocol) ĂŒber USB (MCTP-over-USB 1.1) wurde hinzugefĂŒgt.
- Es wurde die Möglichkeit zur Deaktivierung (Unregistrierung) von Netzwerkkarten (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan usw.) fĂŒr ausgewĂ€hlte NamensrĂ€ume bereitgestellt.
- FĂŒr Bluetooth 6.2+ wurde die UnterstĂŒtzung des SCI-Mechanismus (Shorter Connection Interval) implementiert, um die Latenz bei der DatenĂŒbertragung im Bluetooth LE (Low Energy) Modus zu verringern.
- Im API nl80211 wurde ein einheitlicher Mechanismus (NL80211_CMD_PROBE_PEER) zur ĂberprĂŒfung von verbundenen Peers hinzugefĂŒgt, der sowohl in drahtlosen Zugangspunkten als auch auf der Clientseite funktioniert.
- AusrĂŒstung
- Im Kernel 7.5 wurden alte ARM-Plattformen, die kaum genutzt werden und die Wartung aktueller Subsysteme behindern, als veraltet erklĂ€rt und sollen entfernt werden. UngefĂ€hr 55.000 Codezeilen, die mit der UnterstĂŒtzung von Plattformen wie sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, alten pxa-Platinen, orion, dove und mv78xx0, Chips ohne Speicherverwaltungseinheit (MMU) und Mikrocontrollern stm32f4/f7/h7 verbunden sind, sollen gelöscht werden.
- Die anfĂ€ngliche UnterstĂŒtzung fĂŒr die Apple M3 Pro, Max und Ultra Chips wurde hinzugefĂŒgt. Die Verwaltung des Energieverbrauchsstatus fĂŒr das Apple SoC wurde implementiert.
- Im DRM-Subsystem (Direct Rendering Manager) wurde die Eigenschaft âcolor formatâ hinzugefĂŒgt, die es dem Benutzer ermöglicht, das Farbformat fĂŒr das AusgabegerĂ€t umzuschalten. Diese Eigenschaft wurde fĂŒr die GPU-Treiber i915 (HDMI, DP), amdgpu (HDMI, DP) und rockchip (HDMI) implementiert. Zum Testen kann ein Befehl wie âmodetest -s 115:1920Ă1080-60@NV12 -w 115:âcolor formatâ:4â verwendet werden, wobei 115 die Identifikationsnummer des Steckverbinders und â4â die Nummer des YUV420-Formats ist.
- Im amdgpu-Treiber wurde die UnterstĂŒtzung fĂŒr DRM-Modifikatoren fĂŒr AMD GPUs der Serien GFX6-8 (Southern Islands, Sea Islands und Volcanic Islands) hinzugefĂŒgt. Erste UnterstĂŒtzung fĂŒr DCN 6.0.0 (Display Core Next) wurde implementiert. Der Ă€ltere Code wurde bereinigt.
Die UnterstĂŒtzung fĂŒr CACP (Content Adaptive Contrast and Power) wurde aktiviert, wodurch der Energieverbrauch von OLED-Panels gesenkt werden kann. FĂŒr Display Engines auf der DCN4-Architektur wurde die UnterstĂŒtzung fĂŒr den IPS-Mechanismus (Idle Power State) eingefĂŒhrt, um den Energieverbrauch im Leerlauf zu reduzieren. UnterstĂŒtzung fĂŒr AMD Barco-Grafikkarten wurde hinzugefĂŒgt. - Im i915-Treiber wurde der Code zur Erkennung der FĂ€higkeiten und zur Wiederherstellung des Status von DisplayPort-AnschlĂŒssen ĂŒberarbeitet. FĂŒr die GPU Novalake (NVL) wurde die UnterstĂŒtzung fĂŒr CMTG (Common Mode Timing Generator) und DC3DO (Display C3 with Clock Off) hinzugefĂŒgt.
- Die Arbeiten am drm-Treiber (Direct Rendering Manager) Xe fĂŒr GPUs auf Basis der Intel Xe-Architektur, die in Intel Arc-Grafikkarten und integrierter Grafik ab den Tiger Lake-Prozessoren verwendet wird, wurden fortgesetzt. Neue Identifikatoren fĂŒr unterstĂŒtzte GerĂ€te wurden hinzugefĂŒgt. Im configfs wurde das Attribut âenable_multi_queueâ implementiert, um die gleichzeitige Nutzung mehrerer Befehlswarteschlangen zu deaktivieren. Die UnterstĂŒtzung fĂŒr den Sleep-Modus wurde verbessert.
- Die Integration der Komponenten des Nova-Treibers fĂŒr NVIDIA-GPUs mit GSP-Firmware, die seit der NVIDIA GeForce RTX 2000-Serie auf einer Turing-Mikroarchitektur verwendet werden, wurde fortgesetzt. Der Treiber ist in Rust geschrieben. In der neuen Version wurde der Wechsel zu neuen TLV-Firmware-Images anstelle der alten Varianten, die im Nouveau-Treiber verwendet wurden, vollzogen. UnterstĂŒtzung wurde hinzugefĂŒgt.
FĂŒr den GSP (GPU System Processor) wurde die Möglichkeit zur AusfĂŒhrung der Firmware mit aktivem vGPU hinzugefĂŒgt. Eine API zur Abfrage der GröĂe des Video-RAMs wurde hinzugefĂŒgt. - Im Tyr-Treiber, der in Rust geschrieben ist und die Arbeit mit ARM Mali GPUs ermöglicht, wurde die Möglichkeit zur Verwendung von Mali CSF-Firmware-Images, zur Aktivierung des virtuellen GPU-Speichers und zum Starten des MCU hinzugefĂŒgt.
- Im msm-Treiber wurde die UnterstĂŒtzung fĂŒr die GPUs Adreno Shikra (A704) und Eliza (722) hinzugefĂŒgt.
- UnterstĂŒtzung fĂŒr AudiogerĂ€te und ASoC hinzugefĂŒgt: Pioneer DJ DJM-S11,
AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1. - Die UnterstĂŒtzung fĂŒr den Steam Controller (Modell 2026); MĂ€use von Logitech G502 X Plus und G502 X Lightspeed; Tastaturen von Endorfy Thock TKL, Zenbook A16; Headsets Nova 5X, Nova 7 und Arctis 7; das Rennlenkrad Turtle Beach VelocityOne Race; Controller MSI Claw wurde verbessert.
- Die UnterstĂŒtzung fĂŒr Audiowiedergabe auf ASUS VivoBook M515DA/X515DAP-GerĂ€ten wurde verbessert.
LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx und HP Spectre x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
ThinkPad X1 Carbon 6. Generation, HP ProBook 440 G5, Acer Aspire A515-57. - UnterstĂŒtzung fĂŒr Smartphones, Tablets und Laptops hinzugefĂŒgt: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 1412in, Sony Xperia M2, Vicharak Axon, Axon Mini und Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
- UnterstĂŒtzung fĂŒr ARM-Plattformen und SoCs Samsung Exynos 1580 (eingesetzt in Flagship-Smartphones ab 2024), Orange Pi 5 pro, Sophgo SG2000 (Hybrid Arm/RISC-V), BeagleBadge, Qualcomm âShikraâ und âAlteraâ (Cortex-A78C), Agilex72 (Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM und Platinen Sonata/Symphony basierend darauf, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1, HINLINK H28K.
Zeitgleich hat die lateinamerikanische Free Software Foundation gebildet
Die Version des vollstĂ€ndig freien Kernels 7.3 â Linux-libre 7.3-gnu, gereinigt von Firmware-Elementen und Treibern, die nicht freie Komponenten oder Codeabschnitte enthalten, deren Nutzung vom Hersteller eingeschrĂ€nkt ist. In der Version 7.3 wurde eine SĂ€uberung von Blobs neuer Treiber fĂŒr GPU Mali Tyr, Morse Micro mm81x Wi-Fi, NXP Wi-Fi und Netzwerkkarten auf Realtek-Chips durchgefĂŒhrt. Der Reinigungs-Code in den Treibern nova-core, amdgpu, adreno, tegra, iris, rtw89 und mt76 Wi-Fi, Qualcomm Q6V5 PAS, qla2xxx scsi und Audiocodecs aw88399 wurde aktualisiert. Die Namen der Blobs in den dts-Dateien (devicetree) fĂŒr Qualcomm ARM-Chips wurden bereinigt.
Quelle: opennet.ru
