Veröffentlichung des Linux-Kernels 6.6.

Nach zwei Monaten Entwicklung stellte Linus Torvalds die Veröffentlichung des Linux-Kernels 6.6 vor. Zu den bemerkenswertesten Änderungen gehören: der neue EEVDF-Task-Scheduler; ein Schattenstapelmechanismus zum Schutz vor Exploits; UnterstĂŒtzung von fs-verity in OverlayFS; Implementierung von Quoten und xattr in tmpfs; Vorbereitung von online fsck in XFS; verstĂ€rkte Überwachung des Exports von „GPL-only“-Symbolen; UnterstĂŒtzung von Netzwerksockets in io_uring; Randomisierung des Speichers in kmalloc(); ReiserFS als veraltet erklĂ€rt; in Nouveau wurden Primitive fĂŒr den Vulkan-Treiber NVK hinzugefĂŒgt.

In die neue Version wurden 15291 Korrekturen von 2058 Entwicklern ĂŒbernommen, die Patch-GrĂ¶ĂŸe betrĂ€gt 39 MB (die Änderungen betreffen 14844 Dateien, 553359 Codezeilen wurden hinzugefĂŒgt, 284012 Zeilen gelöscht). In der vorherigen Version gab es 14674 Korrekturen von 2016 Entwicklern, die Patch-GrĂ¶ĂŸe betrug 78 MB. Etwa 44 % aller Änderungen in 6.6 stehen im Zusammenhang mit GerĂ€tetreibern, etwa 17 % betreffen Aktualisierungen von architekturspezifischem Code, 11 % betreffen den Netzwerk-Stack, 4 % die Dateisysteme und 3 % die internen Kern-Subsysteme.

Die Hauptneuerungen im Kernel 6.6:

  • Speicher und Systemdienste
    • Ein neuer EEVDF-Task-Scheduler (Earliest Eligible Virtual Deadline First) wurde implementiert, der den CFS (Completely Fair Scheduler) ersetzt, der seit Kernel 2.6.23 ausgeliefert wurde. Der neue Scheduler berĂŒcksichtigt bei der Auswahl des nĂ€chsten Prozesses fĂŒr die AusfĂŒhrung die Prozesse, die nicht genĂŒgend CPU-Ressourcen erhalten haben oder unverdient viel CPU-Zeit erhalten haben. Im erstgenannten Fall wird die Kontrolle an den Prozess ĂŒbergeben, im letzteren Fall wird sie hingegen aufgeschoben. Der alte CFS-Scheduler verwendete Heuristiken und Feineinstellungen, um Prozesse, die besondere Aufmerksamkeit benötigten, zu identifizieren, wĂ€hrend der neue Scheduler diese Prozesse klarer verfolgt und keine Feineinstellungen erfordert. Es wird angenommen, dass EEVDF dazu beitragen wird, die Latenz bei der AusfĂŒhrung von Aufgaben zu reduzieren, mit denen CFS Scheduling-Probleme hatte.
    • Änderungen bei der Verarbeitung interner Symbole der Kategorie „GPL-only“ wurden vorgenommen, um die Verwendung von proprietĂ€ren Modulen als GPL-Schichten zur Umgehung der ZugriffsbeschrĂ€nkungen auf die Kernel-Subsysteme zu erschweren, die nur Code unter der GPL-Lizenz erlauben. In der Funktion symbol_get() ist die Suche nach Symbolen, die als GPL-only gekennzeichnet sind, fĂŒr proprietĂ€re Module untersagt, und umgekehrt können GPL-Module keine von proprietĂ€ren Modulen exportierten Symbole finden.
    • ZusĂ€tzliche Einstellungen fĂŒr Arbeitswarteschlangen (unbound workqueue) wurden hinzugefĂŒgt, um die Effizienz der Wiederverwendung des CPU-Caches in großen Systemen mit mehreren Level-3-Caches (L3) zu erhöhen. Im Kernel ist auch das Tool tools/workqueue/wq_dump.py zur ÜberprĂŒfung der aktuellen Konfiguration der Arbeitswarteschlangen enthalten.
    • Im io_uring-Subsystem wurde erste UnterstĂŒtzung fĂŒr operationale und befehlsspezifische Funktionen fĂŒr Netzwerksockets hinzugefĂŒgt. Ein sysctl io_uring_disabled wurde hinzugefĂŒgt, um io_uring auf Systemebene zu deaktivieren. Zudem wurde der direkte Eingabe/Ausgabe (Direct I/O) im asynchronen Modus im io_uring erheblich beschleunigt. Die Steigerung der Durchsatzrate und die Verringerung der Latenzen bei der DurchfĂŒhrung von Eingabe-/Ausgabe-Operationen nach den Änderungen erreichen 37%.
    • FĂŒr die PA-RISC-Architektur wurde ein JIT-Compiler fĂŒr BPF implementiert.
    • In die Einstellung /sys/devices/system/cpu/smt/control wurde UnterstĂŒtzung fĂŒr numerische Parameter hinzugefĂŒgt, die die Anzahl der verfĂŒgbaren Threads fĂŒr jeden CPU-Kern festlegen (zuvor wurden nur die Werte „on“ und „off“ zur Aktivierung bzw. Deaktivierung der UnterstĂŒtzung fĂŒr symmetrisches Multithreading unterstĂŒtzt). Diese neue Möglichkeit kann auf bestimmten PowerPC-Prozessoren verwendet werden, die den Hotplug-Modus fĂŒr symmetrisches Multithreading („hotplug SMT“) unterstĂŒtzen, um SMT selektiv fĂŒr bestimmte Kerne wĂ€hrend des Betriebs zu aktivieren.
    • Die Übertragung von Änderungen aus dem Rust-for-Linux-Zweig, die die Verwendung der Programmiersprache Rust als zweite Sprache zur Entwicklung von Treibern und Kernel-Modulen betreffen, wurde fortgesetzt (die UnterstĂŒtzung von Rust ist standardmĂ€ĂŸig nicht aktiviert und fĂŒhrt nicht dazu, dass Rust zu den zwingenden Build-AbhĂ€ngigkeiten des Kernels gehört). Es wurde auf die Verwendung der Rust-Versionen 1.71.1 und bindgen 0.65.1 umgestellt. Der Typ ‚Zeroable‘ wurde implementiert. Die prozeduralen Makros ‚paste!‘ und ‚#[derive(Zeroable)]‘ wurden hinzugefĂŒgt. Die KompatibilitĂ€t mit ‚#[pin_data]‘ wurde sichergestellt. Die Initialisierungsfunktionen ‚{,pin_}init_array_from_fn()‘ und die Methode ‚{,pin_}chain‘ wurden hinzugefĂŒgt. Die Funktionen des Moduls ‚types‘ wurden erweitert. Im Unit-Test-Framework kunit wurde die Möglichkeit hinzugefĂŒgt, Tests aus der Rust-Dokumentation auszufĂŒhren.
    • Ein neues Subsystem „eventfs“ wurde hinzugefĂŒgt, das den Speicherverbrauch im Trace-System erheblich senkt, da es ĂŒberflĂŒssige Strukturen eliminiert, die zur Darstellung von Trace-Punkten im Dateisystem verwendet werden. FrĂŒher wurden solche Strukturen fĂŒr alle Trace-Punkte erstellt, unabhĂ€ngig von deren Nutzung. Mit Hilfe von eventfs können solche Strukturen dynamisch nur bei Bedarf erstellt werden.
    • Die Funktionen des Tools perf wurden erweitert.
    • Im Datei /proc/pid/smaps wurden Informationen fĂŒr die Diagnose der Effizienz des Mechanismus zur ZusammenfĂŒhrung identischer Speicherseiten (KSM, Kernel Samepage Merging) hinzugefĂŒgt.
    • Die API Frontswap wurde entfernt, die es ermöglicht, einen Swapbereich im nicht direkt adressierbaren Speicher zu platzieren, der keine operativen Informationen ĂŒber den verfĂŒgbaren Speicherplatz bietet. Diese API wurde nur in zswap verwendet, daher wurde beschlossen, diese FunktionalitĂ€t direkt in zswap zu nutzen und ĂŒberflĂŒssige Schichten zu eliminieren.
    • FĂŒr die Architektur RISC-V wurde die UnterstĂŒtzung fĂŒr den Zugriff auf Performance-ZĂ€hler aus dem Benutzerspeicher und die Möglichkeit hinzugefĂŒgt, einen Kernel-Dump nach einem Fehler im Bereich ĂŒber 4 GB abzulegen.
    • Erste UnterstĂŒtzung fĂŒr die ARM SME (Scalable Matrix Extension) Instruktionen wurde hinzugefĂŒgt.
    • Die Möglichkeit zur Verwendung von Debugging-Tools wie KDB, KGDB, kcov, KFENCE und KASAN auf Systemen mit der Architektur LoongArch wurde realisiert.
    • Die UnterstĂŒtzung von Dateien fĂŒr Kernel-Tests im kontinuierlichen Integrationssystem GitLab wurde hinzugefĂŒgt, das bei der Entwicklung von Grafiktreibern verwendet wird.
  • Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
    • Das OverlayFS-Dateisystem hat die UnterstĂŒtzung fĂŒr die Speicherung von fs-verity-Hashes im erweiterten Attribut (xattr) overlay.verity hinzugefĂŒgt, was zur ÜberprĂŒfung der IntegritĂ€t und AuthentizitĂ€t von Dateien in den unteren Schichten von OverlayFS mithilfe von kryptografischen Hashes und SchlĂŒsseln verwendet werden kann. Damit sind in OverlayFS nun alle Änderungen enthalten, die fĂŒr das Composefs-Projekt erforderlich sind, um als Erweiterung ĂŒber dem OverlayFS und EROFS zu arbeiten.
    • Im XFS-Dateisystem wurde die Vorbereitung fĂŒr die Implementierung der Möglichkeit zur Verwendung des fsck-Tools zur ÜberprĂŒfung und Behebung von entdeckten Problemen im Online-Modus, ohne die Dateisystempartition abzutrennen, abgeschlossen. DarĂŒber hinaus wurde im XFS die Möglichkeit implementiert, große Folios im Seiten-Cache zu verwenden, und es wurden einige damit verbundene Optimierungen hinzugefĂŒgt, die die Leistung fĂŒr bestimmte Lastarten deutlich steigerten.
    • Das tmpfs-Dateisystem hat die UnterstĂŒtzung fĂŒr benutzerdefinierte erweiterte Attribute (user xattrs), direkten Eingabe/Ausgabe und benutzer- und gruppenbezogene Quoten hinzugefĂŒgt. Die Offsets fĂŒr Verzeichnisse wurden stabilisiert, wodurch Probleme mit dem Export von tmpfs ĂŒber NFS gelöst wurden.
    • Im Mount-Management-API wurde zur Erhöhung der Sicherheit das Flag FSCONFIG_CMD_CREATE_EXCL hinzugefĂŒgt, das die gemeinsame Nutzung des Superblocks an mehreren Mount-Punkten einschrĂ€nkt (es verhindert, dass eine Partition an mehreren Mount-Punkten angebracht wird). Im Mount-Toolkit wurde die Option „—exclusive“ zur Aktivierung dieses Flags angeboten.
    • Im VFS-Subsystem wurde die UnterstĂŒtzung fĂŒr die dynamische Änderung der Zugriffs- und Änderungszeiten (atime, mtime) hinzugefĂŒgt. Zuvor wurden die Zeitangaben mit einer gewissen Verzögerung reflektiert, was die Verfolgung der AktualitĂ€t von Daten im Cache in Systemen wie NFS erschwerte (aufgrund der Verzögerung bei der Feststellung von Änderungen in einer Datei konnte das System fĂ€lschlicherweise annehmen, dass die Daten im Cache aktuell sind). Diese neue Funktion steht fĂŒr Btrfs, Ext4, tmpfs und XFS zur VerfĂŒgung.
    • Im Btrfs wurde der integrierte Mechanismus zur ÜberprĂŒfung der IntegritĂ€t, der wĂ€hrend des Builds ĂŒber den Parameter BTRFS_FS_CHECK_INTEGRITY aktiviert wird, als veraltet erklĂ€rt. Dieser Mechanismus wird nicht mehr unterstĂŒtzt, nicht mehr getestet und erzeugt zusĂ€tzliche Belastung fĂŒr CPU und Speicher. DarĂŒber hinaus wurde die Leistung des neuen IntegritĂ€tsprĂŒfcodes (scrub) im Btrfs optimiert.
    • Im Ext4-Dateisystem wurden periodische ÜberprĂŒfungen zur Aktualisierung des Superblocks hinzugefĂŒgt und die Speicherzuweisungsoperationen beim AnhĂ€ngen an das Ende einer Datei beschleunigt.
    • Im FUSE-Subsystem wurde UnterstĂŒtzung fĂŒr das Attribut btime („Geburtszeit“) hinzugefĂŒgt, das den Zeitpunkt der Erstellung von Inodes definiert.
    • Die Änderung der Berechtigungen fĂŒr symbolische Links ist untersagt.
    • Der Systemaufruf fchmodat2() wurde hinzugefĂŒgt, der sich vom Systemaufruf fchmodat() durch ein zusĂ€tzliches Argument zur Angabe von Flags unterscheidet. Aktuell unterstĂŒtzen die Flags nur AT_SYMLINK_NOFOLLOW und AT_EMPTY_PATH, die es ermöglichen, im libc-Funktion fchmodat() das Dereferenzieren von symbolischen Links zu verbieten und die Verwendung eines Dateideskriptors bei Angabe eines leeren Pfades zu ermöglichen.
    • Im EROFS-Dateisystem (Extendable Read-Only File System), das fĂŒr die Verwendung auf nur-Lese-Partitionen vorgesehen ist, wurde UnterstĂŒtzung fĂŒr den Kompressionsalgorithmus Deflate hinzugefĂŒgt. Zur Beschleunigung der Suche nach erweiterten Attributen wird eine probabilistische Struktur, der Bloom Filter, eingesetzt.
    • Die Konfiguration CONFIG_BUFFER_HEAD wurde hinzugefĂŒgt, die es ermöglicht, den Kernel ohne die Verwendung der Struktur buffer_head zu kompilieren. Bei der Kompilierung ohne buffer_head können BlockgerĂ€te und einige Dateisysteme wie xfs, btrfs, cramfs, erofs und squashfs verwendet werden.
    • Im BlockgerĂ€tetreiber ublk, der es ermöglicht, spezifische Logik in den Benutzermodus zu verlagern, wurde UnterstĂŒtzung fĂŒr zonierte SpeichergerĂ€te hinzugefĂŒgt (Trennung in Zonen von Blockgruppen oder Sektoren, in denen nur sequenzielles HinzufĂŒgen von Daten mit einer vollstĂ€ndigen Aktualisierung aller Blockgruppen zulĂ€ssig ist).
    • Die Implementierung des Dateisystems ReiserFS wurde aus der Kategorie der unterstĂŒtzten Dateisysteme in die der obsoleten Dateisysteme (Obsolete) ĂŒberfĂŒhrt. Die UnterstĂŒtzung von ReiserFS wird fĂŒr 2025 eingestellt. Als Grund fĂŒr die Einstufung von ReiserFS als obsolet wird die Stagnation bei der Wartung dieses Dateisystems, das ungelöste Problem des Jahres 2038, das Fehlen von Möglichkeiten zur GewĂ€hrleistung der Fehlertoleranz und der Wunsch, den Wartungsaufwand fĂŒr allgemeine Änderungen, die mit der UnterstĂŒtzung des neuen API fĂŒr das EinhĂ€ngen, iomap und Folios verbunden sind, zu reduzieren, genannt.
    • Im NFS-Server wurde ein Mechanismus zur Delegation von Schreiboperationen fĂŒr NFSv4 implementiert, der die Effizienz des Schreibcachings fĂŒr Dateien zur Reduzierung des Traffics verbessert. UnterstĂŒtzung fĂŒr die in NFS 4.2 definierte Operation READ_PLUS wurde aktiviert.
    • Der Ceph-Dateisystem hat UnterstĂŒtzung fĂŒr fscrypt hinzugefĂŒgt.
  • Virtualisierung und Sicherheit
    • Eine Implementierung des Shadow Stack-Mechanismus wurde hinzugefĂŒgt, der die AusfĂŒhrung vieler Exploits blockiert, indem die HardwarefĂ€higkeiten von Intel-Prozessoren zum Schutz vor der Überschreibung der RĂŒcksprungadresse aus einer Funktion im Falle eines BufferĂŒberlaufs im Stack genutzt werden. Der Schutzmechanismus besteht darin, dass nach der Übergabe der Kontrolle an die Funktion die RĂŒcksprungadresse nicht nur im normalen Stack, sondern auch in einem separaten „Shadow“-Stack vom Prozessor gespeichert wird, der direkt nicht verĂ€ndert werden kann. Vor dem Verlassen der Funktion wird die RĂŒcksprungadresse aus dem Shadow-Stack abgerufen und mit der RĂŒcksprungadresse aus dem Hauptstack verglichen. Eine NichtĂŒbereinstimmung der Adressen fĂŒhrt zur Erzeugung einer Ausnahme, die Situationen blockiert, in denen es einem Exploit gelungen ist, die Adresse im Hauptstack zu ĂŒberschreiben. Der Hardware-Shadow-Stack wird nur in 64-Bit-Bauformen unterstĂŒtzt, wĂ€hrend in 32-Bit-Bauformen eine softwaremĂ€ĂŸige Emulation verwendet wird.
    • UnterstĂŒtzung fĂŒr die Kompilierung mit dem Clang-Compiler im aktiven CFI-Schutzmodus (Control Flow Integrity), der Verletzungen des normalen AusfĂŒhrungsablaufs aufgrund von Exploits, die in der gespeicherten Funktion Pointer im Speicher VerĂ€nderungen vornehmen, blockiert, wurde hinzugefĂŒgt.
    • FĂŒr die RISC-V-Architektur wurde die Randomisierung der Kernelplatzierung im Speicher beim Booten aktiviert.
    • Der Systemaufruf seccomp() hat das Flag SECCOMP_USER_NOTIF_FD_SYNC_WAKE_UP erhalten, das die Verarbeitung von Ereignissen aus ĂŒberwachten Prozessen im synchronen Modus ermöglicht, um die Effizienz des Scheduling zu verbessern.
    • In der Funktion kmalloc() wird die Randomisierung von Slab-Caches gewĂ€hrleistet, die die Ausnutzung von Schwachstellen im Kern erschwert.
    • Die Optionen im Zusammenhang mit der Aktivierung des SELinux-Sicherheitskontrollsystems wurden dahingehend geĂ€ndert, dass die ErwĂ€hnung der National Security Agency (NSA) entfernt wurde. Da das Projekt seit 20 Jahren von der Gemeinschaft unterstĂŒtzt wird und von unabhĂ€ngigen Maintainers betreut wird, wurde beschlossen, in Kommentaren und Dokumentationen in Kconfig den Namen „SELinux“ anstelle von „NSA SELinux“ zu verwenden (zum Beispiel wurde die ErklĂ€rung zu den Build-Optionen SECURITY_SELINUX von „NSA SELinux Support“ in „SELinux Support“ geĂ€ndert).
    • Der Systemaufruf userfaultfd() hat die Operation UFFDIO_POISON erhalten, die es ermöglicht, Speicherseiten als „vergiftet“ (poisoned) zu kennzeichnen, was fĂŒr die Übertragung beschĂ€digter Speicherseiten bei der Migration verwendet werden kann. virtuelle Maschinen von einem System zu einem anderen.
    • Im VFIO-Subsystem wurde eine neue symbolische Schnittstelle (/dev/vfio/devices/vfioX) zur Verwaltung von VFIO-GerĂ€ten hinzugefĂŒgt, die es dem Benutzer ermöglicht, eine Datei mit einem GerĂ€t direkt zu öffnen, ohne den veralteten Gruppeninterface /dev/vfio/$groupID zu verwenden.
    • Im Server Die UnterstĂŒtzung veralteter Kerberos-VerschlĂŒsselungstypen, die die Algorithmen DES und 3DES verwenden, wurde fĂŒr NFS eingestellt.
    • Bei der AusfĂŒhrung in einer Hyper-V-Hypervisor-Umgebung wurde die UnterstĂŒtzung fĂŒr GĂ€ste hinzugefĂŒgt, die durch AMD SEV-SNP (Secure Nested Paging) und Intel TDX (Trusted Domain Extensions) geschĂŒtzt sind.
    • Beim Bauen des Kernels im Modus 'W=1' sind in der Standard-Compilerkonfiguration die Warnungen '-Wformat-overflow', '-Wformat-truncation', '-Wstringop-overflow' und '-Wrestrict' aktiviert. FĂŒr alle Builds ist die Warnung '-Wenum-conversion' aktiviert.
  • Netzwerksubsystem
    • Die Implementierung der AF_XDP (eXpress Data Path) Adressfamilie wurde um die Möglichkeit erweitert, Pakete zu verarbeiten, die in mehreren Puffern gespeichert sind (zum Beispiel kann ein Puffer den Paketkopf und ein anderer die Daten enthalten, oder in einer Kette von mehreren Puffern können große Jumbo-Ethernet-Frames platziert werden). Programme, die AF_XDP-Sockets verwenden, können jetzt Pakete sofort aus mehreren Puffern empfangen und senden.
    • Im BPF-Subsystem wurde die UnterstĂŒtzung fĂŒr die Defragmentierung von IPv4- und IPv6-Paketen sowie die Möglichkeit zur Filterung von fragmentierten Paketen hinzugefĂŒgt.
    • BPF hat einen neuen Handler update_socket_protocol hinzugefĂŒgt, der es BPF-Programmen ermöglicht, das angeforderte Protokoll fĂŒr neue Sockets zu Ă€ndern. Beispielsweise kann ein BPF-Programm das TCP-Protokoll transparent durch MPTCP (Multipath TCP) ersetzen, um den Anwendungsverkehr zu optimieren. Außerdem wurde die UnterstĂŒtzung fĂŒr die Verwaltung der Paketweiterleitung ĂŒber verschiedene Ströme in MPTCP hinzugefĂŒgt.
    • Der experimentelle Status des ksmbd-Moduls, das eine funktionsfĂ€hige Implementierung eines Dateiserver auf Kernel-Ebene auf Basis des SMB3-Protokolls bietet, wurde aufgehoben. UnterstĂŒtzung fĂŒr Compound-LesevorgĂ€nge (Read Compound-Anfragen) wurde hinzugefĂŒgt.
  • AusrĂŒstung
    • Im DRM-Subsystem (Direct Rendering Manager) wurden Änderungen vorgenommen, die fĂŒr die effektive Zusammenarbeit des offenen NVK-Treibers mit der Vulkan-Grafik-API-Implementierung fĂŒr NVIDIA-Grafikkarten erforderlich sind. Der DRM-Treiber Nouveau war ursprĂŒnglich auf die Implementierung von OpenGL ausgelegt, weshalb ihm die notwendigen Primitives fĂŒr die effektive Funktionsweise von Vulkan-Treibern fehlen, wie etwa die UnterstĂŒtzung synchronisierter Objekte und das Management des virtuellen Adressraums.
    • Im AMDGPU-Treiber wurde UnterstĂŒtzung fĂŒr SDMA 6.1.0, HDP 6.1, SMUIO 14.0, PSP 14.0, IH 6.1 und GFX 9.4.3 implementiert. Der Code zum Laden der PSP-Firmware (Platform Security Processor) wurde ĂŒberarbeitet. Die UnterstĂŒtzung der adaptiven Synchronisationstechnologie FreeSync wurde erweitert (UnterstĂŒtzung fĂŒr Freesync Panel Replay V2 hinzugefĂŒgt).
    • Im i915-Treiber wird die UnterstĂŒtzung fĂŒr Intel Meteor Lake-Chips fortgefĂŒhrt. Die UnterstĂŒtzung fĂŒr die HDCP-Technologie (High-bandwidth Digital Content Protection) wurde verbessert. Der Code fĂŒr die Interaktion mit dem Display wurde ĂŒberarbeitet.
    • Die Optionen zum Deaktivieren des Ladens von Mikrokode im Build-Schritt wurden aus Kconfig entfernt - MICROCODE_INTEL und MICROCODE_AMD. Der Kernel wird jetzt immer mit dem Mikrokode-Ladecode fĂŒr x86-Systeme kompiliert, jedoch kann das eigentliche Laden des Mikrokodes deaktiviert werden, indem der Kernel-Parameter 'dis_ucode_ldr' angegeben wird.
    • Der Audio-Subsystem wurde die Möglichkeit hinzugefĂŒgt, Audio-GerĂ€te zu verwalten, die ĂŒber das IIO (Industrial I/O) Subsystem angeschlossen sind.
    • UnterstĂŒtzung fĂŒr die Audio-Schnittstellen Intel LunarLake, Intel ArrowLake und AMD ACP5x, fĂŒr die Codec Cirrus Logic CS42L43, Realtek RT1017 und TI TAS2781 sowie fĂŒr die VerstĂ€rker Cirrus Logic CS35L56 und winic aw88261 hinzugefĂŒgt. UnterstĂŒtzung fĂŒr ASoC AMD Van Gogh wurde hinzugefĂŒgt.
    • Ein USB MIDI 2.0 Gadget-Treiber wurde hinzugefĂŒgt, der die USB MIDI 2.0-Schnittstelle emuliert und mit dem ALSA UMP rawmidi-GerĂ€t verbunden ist.
    • UnterstĂŒtzung fĂŒr die Ethernet-Controller Broadcom ASP 2.0 und Marvell 88Q2XXX wurde hinzugefĂŒgt.
    • UnterstĂŒtzung fĂŒr die Bildschirme Visionox R66451, TDO TL050HDV35, KD070FHFID015, Inanbo T28CP45TN89 und EDT ET028013DMA, Display-Controller von Loongson und Touchscreen-Controller von Azoteq IQS7222D/IQS7210A/7211A wurde hinzugefĂŒgt.
    • UnterstĂŒtzung fĂŒr ARM SoC Qualcomm SM4450 (Snapdragon 4 Gen 2), TI AM62P5, Intel Agilex5, Qualcomm ipq5018 und AN400 (Amlogic T7) wurde hinzugefĂŒgt.
    • UnterstĂŒtzung fĂŒr ARM-Plattformen wie Samsung Galaxy Tab 3 8.0, FriendlyElec NanoPC T6, Amlogic A311D2, Khadas Vim4, Xiaomi SM7125, Facebook Yosemite 4, Orange Pi Zero 3 und Radxa ROCK 4SE wurde hinzugefĂŒgt.

Gleichzeitig hat die lateinamerikanische Free Software Foundation eine vollstĂ€ndig freie Kernel-Version 6.6 - Linux-libre 6.6-gnu - erstellt, die von Firmware- und Treiberelementen bereinigt wurde, die nichtfreie Komponenten oder Codeabschnitte enthalten, deren Nutzung durch den Hersteller eingeschrĂ€nkt ist. In der Version 6.6 wurde der Code zur Bereinigung von Blobs in verschiedenen Treibern und Subsystemen aktualisiert, beispielsweise in den Treibern fĂŒr TI Gigabit RU Ethernet, MediaTek 792x WiFi, Cirrus Logic CS42L43 MFD, CS35L56 HD-Audio und aw88261 SoC. Namen von Blobs in DTS-Dateien fĂŒr die Architektur Aarch64 wurden bereinigt. Blobs wurden in neuen IVPU-Treibern, in Bluetooth-Treibern, im Treiber fĂŒr Touchscreens und im Encoder/Decoder Qualcomm Venus V4L2 entfernt.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster