{"id":115726,"date":"2024-05-13T13:52:06","date_gmt":"2024-05-13T11:52:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-9"},"modified":"2024-05-13T13:52:06","modified_gmt":"2024-05-13T11:52:06","slug":"reliz-yadra-linux-6-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/reliz-yadra-linux-6-9","title":{"rendered":"Release des Linux-Kernels 6.9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nach zwei Monaten Entwicklung pr\u00e4sentierte Linus Torvalds die Ver\u00f6ffentlichung des Linux-Kernels 6.9. Zu den auff\u00e4lligsten \u00c4nderungen geh\u00f6ren: das Modul dm-vdo f\u00fcr die Deduplikation und Komprimierung von Blockger\u00e4ten, der Direktzugriffsmodus f\u00fcr Dateien in FUSE, die Unterst\u00fctzung f\u00fcr die Erstellung von pidfd f\u00fcr einzelne Threads, die BPF-Token-Mechanik, die Unterst\u00fctzung von Rust auf ARM64-Systemen, die Einstufung des Ext2-Dateisystems als veraltet, die Entfernung des alten NTFS-Treibers und die Unterst\u00fctzung der Intel FRED-Mechanik.        <\/p>\n<p>In die neue Version wurden 15680 Fehlerkorrekturen von 2106 Entwicklern aufgenommen, die Patchgr\u00f6\u00dfe betr\u00e4gt 54 MB (\u00c4nderungen betreffen 11825 Dateien, 687954 Zeilen Code wurden hinzugef\u00fcgt, 225344 Zeilen entfernt). In der vorherigen Version gab es 15641 Fehlerkorrekturen von 2018 Entwicklern, die Patchgr\u00f6\u00dfe betrug 44 MB. Etwa 42 % der in 6.9 vorgestellten \u00c4nderungen betreffen Ger\u00e4ttetreiber, rund 17 % beziehen sich auf die Aktualisierung von codespezifischen \u00c4nderungen f\u00fcr Hardwarearchitekturen, 13 % betreffen den Netzwerk-Stack, 7 % die Dateisysteme und 4 % interne Kernsubsysteme.      <\/p>\n<p>Die wichtigsten Neuerungen im Kern 6.9:  <\/p>\n<ul>\n<li class=\"l\"> <b>Festplattensubsystem, Ein-\/Ausgabe und Dateisysteme<\/b>\n<ul>\n<li class=\"l\"> Im Device Mapper (DM) wurde ein neuer Handler dm-vdo (virtual data optimizer) hinzugef\u00fcgt, der es erm\u00f6glicht, basierend auf bestehenden Blockger\u00e4ten ein virtuelles Blockger\u00e4t zu implementieren, das Funktionen wie die Deduplikation wiederkehrender Daten, die Datenkompression, das Auslassen leerer Bl\u00f6cke und die Erh\u00f6hung der Blockger\u00e4tegr\u00f6\u00dfe nach Bedarf (thin provisioning) bietet. Diese Funktionen werden auf Blockger\u00e4teebene implementiert und sind unabh\u00e4ngig vom verwendeten Dateisystem (zum Beispiel kann mit dm-vdo eine automatische Zusammenf\u00fchrung von duplizierten Daten und die Speicherung von Informationen in komprimierter Form f\u00fcr beliebige Dateisysteme realisiert werden). Die Anwendung von dm-vdo f\u00fcr physische Speichermedien mit einer Gr\u00f6\u00dfe von bis zu 256 TB und die Erstellung logischer Volumen mit einer Gr\u00f6\u00dfe von bis zu 4 PB wird unterst\u00fctzt. F\u00fcr die Verwaltung von VDO-Partitionen wird empfohlen, lvm zu verwenden. Die VDO-Technologie wurde von Permabit entwickelt und nach der \u00dcbernahme durch Red Hat im Jahr 2017 ge\u00f6ffnet.\n<li class=\"l\"> Im FUSE-Subsystem, das zur Implementierung von Dateisystemen im Benutzerspeicher verwendet wird, wurde eine erste Implementierung des Modus \u201epassthrough\u201c hinzugef\u00fcgt, die es erm\u00f6glicht, Daten von Dateien direkt auf Kernel-Ebene zu erhalten, wodurch der Benutzerprozess umgangen wird, was in bestimmten Situationen die Leistung erheblich steigern kann. Beispielsweise k\u00f6nnen FUSE-Implementierungen von Dateisystemen, die im Nur-Lese-Modus arbeiten und den Zugriff auf Dateien einschr\u00e4nken, die Inhalte von Dateien aus dem zugrunde liegenden Dateisystem zur\u00fcckgeben, ohne sie in den FUSE-Prozess zu \u00fcbertragen.\n<li class=\"l\"> Der Treiber mit der Implementierung des Ext2-Dateisystems wurde in die Kategorie der veralteten (deprecated) Treiber aufgenommen. Als Grund wird die Unterst\u00fctzung von nur 32-Bit-Zeitstempeln in inode erw\u00e4hnt, die am 19. Januar 2038 \u00fcberlaufen werden. Statt des ext2-Treibers wird empfohlen, den ext4-Treiber zu verwenden, der mit dem Ext2-Dateisystem kompatibel ist und auf ext2-Partitionen Zeitstempel verwenden kann, die nicht von dem 2038-Problem betroffen sind, sofern das Dateisystem mit inodes erstellt wurde, die gr\u00f6\u00dfer als 255 Byte sind (im ext2-Treiber wurden 32-Bit-Zeitstempel unabh\u00e4ngig von der Gr\u00f6\u00dfe der inode verwendet).\n<li class=\"l\"> Der alte NTFS-Dateisystemtreiber wurde entfernt, ersetzt durch den neuen NTFS3-Treiber, der seit der Version 5.15 erh\u00e4ltlich ist. Die Bereitstellung von zwei NTFS-Implementierungen im Kernel wird als nicht sinnvoll erachtet, da der alte Treiber seit vielen Jahren nicht aktualisiert wurde, in einem desolaten Zustand ist und nur im Nur-Lese-Modus arbeiten kann.\n<li class=\"l\"> In die Dateisysteme zonefs und hugetlbfs wurde die Unterst\u00fctzung f\u00fcr das Mapping von Benutzer-IDs montierter Dateisysteme hinzugef\u00fcgt, die verwendet wird, um Dateien eines bestimmten Benutzers auf einer montierten fremden Partition mit einem anderen Benutzer im aktuellen System abzugleichen.\n<li class=\"l\"> In NFSv4 erhalten Administratoren die M\u00f6glichkeit, die Zust\u00e4nde von Dateizugriffen und -sperren zu bereinigen.\n<li class=\"l\"> F\u00fcr das Ext4-Dateisystem werden nur Fehlerbehebungen und Updates der kunit-Tests verzeichnet.\n<li class=\"l\"> In Btrfs wird die Fortsetzung der Funktions\u00fcbertragung auf die Verwendung von Seitenfolien (page folios) fortgesetzt.\n<li class=\"l\">  Im XFS-Dateisystem wurde die Arbeit an der Implementierung der Nutzung des Dienstprogramms fsck zur \u00dcberpr\u00fcfung und Behebung festgestellter Probleme im Online-Modus ohne Aush\u00e4ngen des Dateisystems fortgesetzt.\n<li class=\"l\"> Im Systemaufruf pwritev2() wurde das Flag RWF_NOAPPEND hinzugef\u00fcgt, das es erm\u00f6glicht, einen Offset f\u00fcr die Schreiboperation anzugeben, selbst wenn die Datei im Nur-Append-Modus ge\u00f6ffnet wurde.\n<li class=\"l\"> Neue ioctl-Befehle wurden hinzugef\u00fcgt: FS_IOC_GETUUID \u2013 gibt den UUID-Identifikator des angegebenen Dateisystems zur\u00fcck, und FS_IOC_GETFSSYSFSPATH \u2013 bestimmt den Standort im \/sys\/fs des angegebenen gemounteten Dateisystems.\n<li class=\"l\"> Die Dateisysteme efs, qnx4 und coda wurden auf die Verwendung der neuen API zum Einh\u00e4ngen von Partitionen umgestellt.\n<li class=\"l\"> Die Implementierung von Dateioperationen, die im Fall-insensitiven Modus durchgef\u00fchrt werden, wurde verbessert. Die Leistung wurde durch anf\u00e4ngliches Vergleichen unter Ber\u00fccksichtigung der Gro\u00df-\/Kleinschreibung und das Zur\u00fcckfallen auf die Suche ohne Ber\u00fccksichtigung der Gro\u00df-\/Kleinschreibung erh\u00f6ht. Probleme beim Einh\u00e4ngen von overlayfs \u00fcber Verzeichnissen, f\u00fcr die der fall-insensitive Modus aktiviert wurde, wurden behoben.                  <\/ul>\n<li class=\"l\"> <b>Speicher und Systemdienste<\/b>\n<ul>\n<li class=\"l\"> Die Unterst\u00fctzung des Intel FRED (Flexible Return and Event Delivery) Mechanismus wurde implementiert, der entwickelt wurde, um die Effizienz und Zuverl\u00e4ssigkeit der Informations\u00fcbertragung \u00fcber niedrige Ereignisse im Vergleich zu dem derzeit verwendeten IDT (Interrupt Descriptor Table) Mechanismus zu verbessern. Die Leistungssteigerung und die Reduzierung der Latenz werden durch die R\u00fcckkehr von Ereignissen mittels der Prozessoranweisung IRET anstelle der \u00dcbertragung von Ereignissen \u00fcber die IDT-Tabelle erreicht. Die Zuverl\u00e4ssigkeit wird durch die getrennte Verarbeitung des Eintreffens von Ereignissen im Kontext des Kernels und im Benutzermodus, den Schutz vor geschachtelter NMI-Ausf\u00fchrung und die Speicherung aller mit der Ausnahme verbundenen CPU-Register in einem erweiterten Stack-Frame gew\u00e4hrleistet.\n<li class=\"l\"> Die M\u00f6glichkeit zur Optimierung des Zugriffs auf Daten einzelner CPU-Kerne wurde durch die Verwendung benannter Adressr\u00e4ume (Named Address Spaces) im Kernel-Code implementiert, die in GCC als GNU C-Erweiterung realisiert sind.\n<li class=\"l\"> Der pidfd_open()-Funktion wurde das Flag PIDFD_THREAD hinzugef\u00fcgt, das es erm\u00f6glicht, pidfd f\u00fcr einzelne Threads zu erstellen, anstatt pidfd nur im Kontext des Gruppenleiters von Threads zu verwenden. Es wurde auch eine Implementierung eines Pseudo-Dateisystems vorgeschlagen, um \u00fcber das virtuelle Dateisystem auf pidfd zuzugreifen. Im Gegensatz zur Identifizierung von Prozessen mit pid ist die pidfd-ID an einen bestimmten Prozess gebunden und \u00e4ndert sich nicht, w\u00e4hrend der PID nach Abschluss des aktuellen Prozesses an einen anderen Prozess gebunden werden kann.\n<li class=\"l\"> Im BPF-Subsystem wurde der BPF-Token-Mechanismus hinzugef\u00fcgt, der Programmen selektiv Zugriffsrechte auf privilegierte BPF-Operationen gew\u00e4hrt. Beispielsweise kann einem nicht privilegierten Programm der Zugang zu einzelnen BPF-Subsystemen gew\u00e4hrt werden, ohne vollst\u00e4ndige CAP_BPF-Rechte zu erteilen.\n<li class=\"l\"> Im BPF-Subsystem wurde ein neuer Typ des gemeinsamen Speichers bpf_arena hinzugef\u00fcgt, der den Bereich definiert, der von BPF-Programmen und Prozessen im Benutzerspeicher gemeinsam genutzt werden kann. Es wurde der Befehl may_goto hinzugef\u00fcgt, der die Organisation von Schleifen erm\u00f6glicht, die durch den Verifier unterbrochen werden k\u00f6nnen. Zudem wurde die M\u00f6glichkeit hinzugef\u00fcgt, aus BPF-Programmen beliebige TCP SYN-Cookies zu generieren und BPF-Handler zur Bek\u00e4mpfung von SYN-Flutting zu erstellen.\n<li class=\"l\"> Die \u00dcbertragung von \u00c4nderungen aus dem Rust-for-Linux-Zweig, die die Verwendung der Programmiersprache Rust als zweiter Sprache f\u00fcr die Entwicklung von Treibern und Kernelmodulen betreffen, wird fortgesetzt (die Unterst\u00fctzung von Rust ist standardm\u00e4\u00dfig nicht aktiviert und erfordert nicht, dass Rust zu den obligatorischen Build-Abh\u00e4ngigkeiten f\u00fcr den Kernel geh\u00f6rt). Die Unterst\u00fctzung der Programmiersprache Rust auf 64-Bit-ARM-Prozessoren wurde hinzugef\u00fcgt. Der \u00dcbergang zur Verwendung von Rust 1.76 wurde vollzogen. Der Macro \u201acontainer_of!\u2018 wurde hinzugef\u00fcgt. Statt der instabilen Funktionalit\u00e4t \u201aptr_metadata\u2018 wird jetzt eine stabile Methode namens \u201abyte_sub\u2018 verwendet. Das Modul \u201atime\u2018 mit der Funktion zur Zeitkonvertierung \u201amsecs_to_jiffies()\u2018 wurde hinzugef\u00fcgt.\n<li class=\"l\"> Im io_uring-Subsystem wurde die M\u00f6glichkeit hinzugef\u00fcgt, Dateien zu k\u00fcrzen (ftruncate_file).\n<li class=\"l\"> Ein neuer Typ von Arbeitswarteschlangen WQ_BH (workqueue Bottom Halves) wurde hinzugef\u00fcgt, um asynchrone Codeausf\u00fchrungen im Kontext von Software-Interrupts zu erm\u00f6glichen und die veralteten Tasklets zu ersetzen.\n<li class=\"l\"> Das Timer-Subsystem wurde umfassend \u00fcberarbeitet, wobei die Logik zur Auswahl des aktiven CPU-Kerns zur Ausf\u00fchrung des ausgel\u00f6sten Timers verbessert wurde, um inaktive Kerne im Energiesparmodus nicht zu wecken.\n<li class=\"l\"> Die M\u00f6glichkeit zur Aktualisierung des Energieverbrauchsmodells (EM, Energy Model) w\u00e4hrend des Betriebs wurde implementiert. Dies kann beispielsweise verwendet werden, um den Einfluss der Betriebstemperatur auf die Energieeffizienz der CPU zu ber\u00fccksichtigen. Die Leistung der Funktion em_cpu_energy() wurde erheblich verbessert, die nun in Tests auf einem station\u00e4ren System 1,43-mal schneller ausgef\u00fchrt wird und im Test auf der RockPi 4B-Platine um 1,69-mal schneller.\n<li class=\"l\"> Die Unterst\u00fctzung f\u00fcr den Betrieb von Systemen auf Basis der Architektur ARM64 im LPA2-Modus mit einem 52-Bit-virtuellen Adressraum wurde hinzugef\u00fcgt.\n<li class=\"l\"> F\u00fcr ARM64-Systeme wurde die Unterst\u00fctzung f\u00fcr kontinuierliche PTE-Eintr\u00e4ge (Page Table Entry) implementiert, die die Leistung durch eine effizientere Nutzung des TLB (Translation Lookaside Buffer) erh\u00f6hen k\u00f6nnen.\n<li class=\"l\"> Patches zur Verbesserung der Leistung des Speichermanagementsystems wurden implementiert, um die Entstehung konkurrierender Sperren in vmalloc() zu reduzieren.\n<li class=\"l\"> F\u00fcr die LoongArch-Architektur wurde ein Mechanismus f\u00fcr das Hot-Patching des Kernels (Live Patching) implementiert, der es erm\u00f6glicht, Korrekturen am Kernel ohne Neustart anzuwenden.\n<li class=\"l\"> F\u00fcr RISC-V-Systeme wurde die Unterst\u00fctzung des Systemaufrufs membarrier() implementiert, der Speicherbarrieren f\u00fcr in der Systemumgebung laufende Threads festlegt.\n<li class=\"l\"> Die Anforderungen an die Version von LLVM\/Clang, die f\u00fcr den Kernelbau verwendet werden kann, wurden erh\u00f6ht. F\u00fcr den Bau ist jetzt mindestens die Version LLVM 13.0.1 erforderlich (zuvor war der Bau mit LLVM 11+ unterst\u00fctzt).\n<li class=\"l\"> Im Mechanismus \u201eUser trace events\u201c, der die Erstellung von Trace-Events aus Benutzerprozessen zum Verfolgen von Aktivit\u00e4ten im Benutzermodus erm\u00f6glicht, wurde die Unterst\u00fctzung f\u00fcr den Export von Ereignisinformationen in verschiedenen Formaten (USER_EVENT_REG_MULTI_FORMAT) hinzugef\u00fcgt.\n<li class=\"l\"> Dem Funktionsaufruf-Trace-Mechanismus wurde die M\u00f6glichkeit hinzugef\u00fcgt, den Zustand der \u00fcbergebenen Argumente bei der R\u00fcckverfolgung des Funktionsausgangs zu \u00fcberwachen. Die R\u00fcckgabewerte k\u00f6nnen jetzt den bei der Funktionsaufruf verwendeten Argumenten zugeordnet werden.\n<li class=\"l\"> Das Dienstprogramm perf unterst\u00fctzt jetzt den Aggregationsmodus \u201ecluster\u201c (\u201eperf stat -a \u2014per-cluster\u201c), um Statistiken \u00fcber gemeinsam genutzte Ressourcen zu aggregieren. Es wurde die M\u00f6glichkeit implementiert, die libcapstone-Bibliothek f\u00fcr das Disassemblieren von Prozessoranweisungen zu verwenden (\u201eperf script -F disasm\u201c). Der Speicherverbrauch bei der Ausf\u00fchrung der Befehle perf report und perf annotate wurde optimiert.                    <\/ul>\n<li class=\"l\"> <b>Virtualisierung und Sicherheit<\/b>\n<ul>\n<li class=\"l\"> Der Schutz vor der RFDS-Sicherheitsanf\u00e4lligkeit (Register File Data Sampling) in Intel Atom-Prozessoren wurde hinzugef\u00fcgt. Diese Anf\u00e4lligkeit erm\u00f6glicht das Auslesen von Restinformationen aus den Registerdateien (RF, Register File) des Prozessors, die verwendet werden, um die Inhalte der Register aller Aufgaben auf demselben CPU-Kern gemeinsam zu speichern. Um die Anf\u00e4lligkeit zu blockieren, sind ein Mikrokod-Update sowie die Verwendung der VERW-Anweisung erforderlich, um die Inhalte der mikroarchitektonischen Puffer beim R\u00fcckkehr vom Kernel in den Benutzermodus zu l\u00f6schen. Zum Aktivieren des Schutzes beim Laden des Kernels kann das Flag \u201ereg_file_data_sampling=on\u201c gesetzt werden. Informationen \u00fcber die Anf\u00e4lligkeit und die Verf\u00fcgbarkeit des erforderlichen Mikrokodschutzes k\u00f6nnen in der Datei \u201e\/sys\/devices\/system\/cpu\/vulnerabilities\/reg_file_data_sampling\u201c eingesehen werden.\n<li class=\"l\"> Die grundlegende Unterst\u00fctzung f\u00fcr den Schutz von Gastsystemen mit der AMD SEV-SNP-Erweiterung (Secure Nested Paging) wurde hinzugef\u00fcgt. Diese sorgt f\u00fcr einen sicheren Umgang mit verschachtelten Speichertabellen und sch\u00fctzt vor \u201eundeSErVed\u201c- und \u201eSEVerity\u201c-Angriffen auf AMD EPYC-Prozessoren, die dazu in der Lage sind, den Schutzmechanismus AMD SEV (Secure Encrypted Virtualization) zu umgehen. In <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4384\">KVM<\/a> den erforderlichen \u00c4nderungen zur Nutzung von SNP sollen in der Version 6.10 hinzugef\u00fcgt werden.\n<li class=\"l\"> Die Module, die Technologien wie IMA (Integrity Measurement Architecture) und EVM (Extended Verification Module) implementieren, wurden auf das LSM (Linux Security Modules)-Framework umgestellt, was es erm\u00f6glichte, den Code erheblich zu vereinfachen, redundante Funktionalit\u00e4ten zu b\u00fcndeln und die \u00fcber LSM verf\u00fcgbaren Standardfunktionen zu nutzen, ohne die Funktionalit\u00e4t zu verlieren. Das IMA-Modul dient zur Integrit\u00e4tspr\u00fcfung von Betriebssystemkomponenten mittels digitaler Signaturen und Hashes. Das EVM-Modul sch\u00fctzt erweiterte Dateiattribute (xattrs) vor Angriffen, die darauf abzielen, deren Integrit\u00e4t zu verletzen (EVM verhindert Offline-Angriffe, bei denen ein Angreifer Metadaten \u00e4ndern kann, z. B. beim Booten von einem eigenen Speichermedium).\n<li class=\"l\"> Die Systemaufrufe lsm_list_modules(), lsm_get_self_attr() und lsm_set_self_attr() wurden \u00fcberarbeitet, um die Kompatibilit\u00e4t mit 32-Bit-Umgebungen zu verbessern. Diese Aufrufe dienen dazu, eine Liste der geladenen LSM-Module (Linux Security Modules) auszugeben und die Attribute des LSM-Moduls abzurufen\/zu setzen. Die \u00c4nderungen verletzen die Abw\u00e4rtskompatibilit\u00e4t, jedoch sch\u00e4tzte Linus Torvalds, dass diese \u00c4nderungen zul\u00e4ssig sind, da die neuen Systemaufrufe in der letzten Kernel-Version hinzugef\u00fcgt wurden und bisher nicht in Anwendungen verwendet werden.\n<li class=\"l\"> Es wurde versucht, die Verwendung des UBSAN (Undefined Behavior Sanitizer) Mechanismus wiederherzustellen. Das Problem liegt darin, dass Compiler ganz unterschiedlich mit dem \u00dcberlauf von Ganzzahlen, sowohl bei Vorzeichen- als auch bei Vorzeichenlosen Typen, umgehen. Vorzeichen\u00fcberl\u00e4ufe und \u00dcberl\u00e4ufe von Zeigern fallen in die Kategorie des undefinierten Verhaltens, w\u00e4hrend vorzeichenlose \u00dcberl\u00e4ufe modulo 2n behandelt werden, wobei nur die niederwertigen Bits des Ergebnisses erhalten bleiben (\"wrap-around\"), und nicht unter undefiniertes Verhalten fallen. Um Situationen mit undefiniertem Verhalten zu vermeiden, wird der Kernel mit der Option \"-fno-strict-overflow\" kompiliert, die \"wrap-around\" f\u00fcr alle Ganzzahl\u00fcberl\u00e4ufe anwendet. GCC und Clang sind nicht in der Lage, einige Probleme sorgf\u00e4ltig zu diagnostizieren, wenn das Flag \"-fno-strict-overflow\" verwendet wird, und die Aktivierung von UBSAN zielt darauf ab, in Zusammenarbeit mit Compiler-Entwicklern falsche Warnungen zu beseitigen und Ganzzahl\u00fcberl\u00e4ufe in Bereichen zu identifizieren, in denen keine expliziten \u00dcberpr\u00fcfungen vorhanden sind.\n<p>Zur \u00dcberpr\u00fcfung m\u00f6glicher \u00dcberl\u00e4ufe im Kernel werden Konstrukte der Art \"var + offset\" verwendet. <var> PAGE_SHIFT)&lt; pgoff){..}&quot;), die an die Kompilierung mit dem Flag &quot;-fno-strict-overflow&quot; gebunden sind und nicht den gesamten Code abdecken, in dem potenziell \u00dcberl\u00e4ufe auftreten k\u00f6nnen. Das Problem ist, dass die Verwendung von UBSAN zu einer Vielzahl falscher Warnungen gef\u00fchrt hat, weshalb UBSAN im Jahr 2021 deaktiviert werden musste. In der aktualisierten Implementierung wird vorgeschlagen, spezielle Anmerkungen __signed_wrap und __unsigned_wrap sowie fertige Makros mit den \u00dcberpr\u00fcfungen add_would_overflow(a, b) und add_wrap(a, b) zu verwenden, die den vorgesehenen Gebrauch von Ganzzahl\u00fcberl\u00e4ufen von zuf\u00e4lligen \u00dcberl\u00e4ufen, die zu Sicherheitsanf\u00e4lligkeiten f\u00fchren k\u00f6nnen, trennen. Der Vorschlag f\u00fcr eine umfassendere Umgestaltung des Kernels mit der Einf\u00fchrung zus\u00e4tzlicher Typdefinitionen wurde von Linus Torvalds abgelehnt. In der Netzwerksubsystem wurde Arbeit verrichtet, um die Anzahl der konkurrierenden Sperren (\"lock contention\", der Versuch, eine von einem anderen Thread gehaltene Sperre zu erhalten) zu reduzieren. Die Verwendung von RTNL-Sperren wurde verringert.                      <\/ul>\n<li class=\"l\"> <b>Netzwerksubsystem<\/b>\n<ul>\n<li class=\"l\">  Im Netzwerk-System wurde an der Reduzierung von konkurrierenden Sperren (\"lock contention\", der Versuch, eine von einem anderen Thread gehaltene Sperre zu erhalten) gearbeitet. Die Nutzung von RTNL-Sperren wurde verringert.\n<li class=\"l\"> Die M\u00f6glichkeit zur Aktivierung der Unterst\u00fctzung von Active Socket Polling (Busy Polling) im Kontext einzelner epoll-Aufrufe wurde hinzugef\u00fcgt. Die Gr\u00f6\u00dfe des Pools und die Budgetparameter k\u00f6nnen unabh\u00e4ngig von den standardm\u00e4\u00dfigen Systemeinstellungen festgelegt werden.\n<li class=\"l\"> Die net_hotdata-Struktur wurde implementiert, um die Effizienz des Cachings der am h\u00e4ufigsten verwendeten Netzwerk-Konfigurationsvariablen zu erh\u00f6hen.\n<li class=\"l\"> In MPTCP wurde die Unterst\u00fctzung f\u00fcr die Einstellung der TCP_NOTSENT_LOWAT-Option f\u00fcr Sockets hinzugef\u00fcgt, die die Gr\u00f6\u00dfe des Sendepuffers begrenzt. Die API f\u00fcr MCTP-Sockets hat die Unterst\u00fctzung von Netzwerk-IDs hinzugef\u00fcgt, die es erm\u00f6glichen, mehrere nicht \u00fcberlappende MCTP-Netzwerke auf einem Host zu verwenden.\n<li class=\"l\"> In IPSec wurde die Unterst\u00fctzung f\u00fcr das Umleiten von ICMP-Fehlermeldungen (RFC 4301) hinzugef\u00fcgt.\n<li class=\"l\"> Der Prozess des Scannens von Routen mit abgelaufener Lebensdauer wurde beschleunigt.\n<li class=\"l\"> Die Leistung von XDP wurde verbessert, indem die Zuweisung gro\u00dfer Speicherbl\u00f6cke strikter vermieden wird.\n<li class=\"l\"> Die M\u00f6glichkeit, Metadaten an netconsole-Nachrichten anzuh\u00e4ngen, wurde hinzugef\u00fcgt.\n<li class=\"l\"> In Netfilter wurde die Definition von Tabellen aus dem Benutzerspeicher erlaubt, die an den verwaltenden Hintergrundprozess gebunden sind und nach dem Abschluss der Benutzeranwendung nicht automatisch gel\u00f6scht werden.\n<li class=\"l\"> In nftables wurde das Hinzuf\u00fcgen von Elementen zu Set-Gruppen mit zusammengefassten Bereichen beschleunigt.                      <\/ul>\n<li class=\"l\"> <b>Ausr\u00fcstung<\/b>\n<ul>\n<li class=\"l\"> Im i915-Treiber wurde die Unterst\u00fctzung f\u00fcr Intel LunarLake-Chips (Xe 2) weiter vorangetrieben. Neue PCI-IDs f\u00fcr Ger\u00e4te basierend auf Intel Arrow Lake und Alder Lake N wurden hinzugef\u00fcgt. F\u00fcr DisplayPort wurde die Unterst\u00fctzung f\u00fcr Tunneling (DP Tunneling) und Bandbreitenzuweisung (Bandwidth Allocation) hinzugef\u00fcgt. F\u00fcr alle Plattformen wurde der Fastboot-Modus aktiviert. Au\u00dferdem wurde die Unterst\u00fctzung f\u00fcr Debugging-Ausgaben in Bezug auf einzelne Ger\u00e4te hinzugef\u00fcgt.\n<li class=\"l\"> Im AMDGPU-Treiber wurde die Vorbereitung zur Implementierung der Unterst\u00fctzung f\u00fcr AMD RDNA3.5 und RDNA4 GPUs getroffen. Unterst\u00fctzung f\u00fcr ATHUB 4.1, LSDMA 7.0, JPEG DPG, IH 7.0, HDP 7.0, VCN 5.0, SMU 13.0.6, NBIO 7.11, SDMA 6.1, MMHUB 3.3, DCN 3.5.1, NBIF 6.3.1, VPE 6.1.1 und das RAS ACA-Framework wurde hinzugef\u00fcgt. Ein Parameter freesync_video wurde in das Kernmodul eingef\u00fcgt, um die experimentelle Unterst\u00fctzung f\u00fcr die Optimierung des Wechsels zwischen Video-Modi mit der adaptiven Synchronisationstechnologie FreeSync zu aktivieren.\n<li class=\"l\"> Im Nouveau-Treiber wurde der Steuerungscode f\u00fcr den Bildschirm auf die Verwendung der Funktion kmemdup() umgestellt.\n<li class=\"l\"> Die Arbeit am DRM-Treiber (Direct Rendering Manager) Xe f\u00fcr GPUs auf Basis der Intel Xe-Architektur, die in den Grafikkarten der Intel Arc-Familie und in der integrierten Grafik ab den Tiger Lake-Prozessoren verwendet wird, wurde fortgesetzt.\n<li class=\"l\"> Ein DRM-Treiber f\u00fcr Mediatek MT8188-VDOSYS1-Chips wurde hinzugef\u00fcgt.\n<li class=\"l\"> Die mit den Video-Subsystemen verbundenen Kernel-Einstellungen wurden in den Abschnitt CONFIG_VIDEO verschoben.\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr ARM64 SoCs: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M), TI J722S wurde hinzugef\u00fcgt.\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr ARM-Plattformen und Ger\u00e4te wurde hinzugef\u00fcgt: Android-Handys basierend auf dem Tegra30-Chip, Chromebook-Modelle auf Basis des Mediatek MT8186, NAS, Tablets und Spielkonsolen auf Basis der Rockchips RK35xx, White Hawk-Boards basierend auf SoCs von Renesas, Boards basierend auf Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board und Samsung Galaxy Tab 4 10.1 LTE.\n<li class=\"l\"> Der Code des Audio-Subsystems ALSA wurde refaktoriert. Unterst\u00fctzung f\u00fcr Audio-Systeme von Microchip SAM9x7, NXP i.MX95 und Qualcomm WCD939x wurde hinzugef\u00fcgt. Der SoundWire-Treiber erhielt Unterst\u00fctzung f\u00fcr ASoC mit Audio-Coprozessoren von AMD ACP 6.3, und f\u00fcr Intel-Systeme wurde ein DSPless-Modus implementiert. Unterst\u00fctzung f\u00fcr zus\u00e4tzliche Audiocodecs von Cirrus HD wurde hinzugef\u00fcgt. Die Verwaltung von Audio-Ger\u00e4ten im Virtio-Treiber wurde verbessert.\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr Ethernet-Controller Marvell Octeon PCI Endpoint NIC VF und Intel E825-C 100G wurde hinzugef\u00fcgt.            <\/ul>\n<\/ul>\n<p>Gleichzeitig hat die lateinamerikanische Free Software Foundation eine vollst\u00e4ndig freie Kernel-Variante 6.9 \u2014 Linux-libre 6.9-gnu \u2014 ver\u00f6ffentlicht, die von Firmware- und Treiberkomponenten, die propriet\u00e4re Elemente oder Bereiche des Codes enthalten, bereinigt wurde, deren Anwendungsbereich vom Hersteller eingeschr\u00e4nkt ist. In der Ver\u00f6ffentlichung 6.9 wurde der Code zur Bereinigung von Blobs in den Treibern amdgpu, ath12k, adreno, btusb und r8169 aktualisiert. Es wurde eine Bereinigung des neuen Treibers ptp_fc3 durchgef\u00fchrt. Die Namen von Blobs in DTS-Dateien (Device Tree) f\u00fcr die Architektur Aarch64 wurden bereinigt. Probleme bei der Bereinigung des Treibers i915, die w\u00e4hrend der Initialisierung zu Abst\u00fcrzen f\u00fchrten, wurden behoben. \u00c4nderungen wurden im Zusammenhang mit der Verarbeitung von als hexadezimale Dumps gelieferten Blobs vorgenommen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61160\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043c\u043e\u0434\u0443\u043b\u044c dm-vdo \u0434\u043b\u044f \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0441\u0436\u0430\u0442\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0432 FUSE, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f pidfd \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c BPF-\u0442\u043e\u043a\u0435\u043d\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 ARM64, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0424\u0421 Ext2 \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 NTFS, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115726","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/reliz-yadra-linux-6-9\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/reliz-yadra-linux-6-9\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-05-13T11:52:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-05-13T11:52:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ver\u00f6ffentlichung des Linux-Kernels 6.9 | ProHoster","description":"Nach zwei Monaten Entwicklung stellte Linus Torvalds die Ver\u00f6ffentlichung des Linux-Kernels 6.9 vor.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/reliz-yadra-linux-6-9","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/reliz-yadra-linux-6-9","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-05-13T11:52:06+00:00","article:modified_time":"2024-05-13T11:52:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115726","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 00:14:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 00:14:20","updated":"2026-01-23 00:14:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/115726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=115726"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/115726\/revisions"}],"predecessor-version":[{"id":164261,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/115726\/revisions\/164261"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=115726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=115726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=115726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}