{"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":"Ver\u00f6ffentlichung 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 bemerkenswertesten \u00c4nderungen geh\u00f6ren: das dm-vdo-Modul zur Deduplizierung und Komprimierung von Blockger\u00e4ten, ein direkter Zugriff auf Dateien im FUSE, Unterst\u00fctzung f\u00fcr die Erstellung von pidfd f\u00fcr einzelne Threads, der BPF-Token-Mechanismus, Unterst\u00fctzung f\u00fcr Rust auf ARM64-Systemen, die Einstufung des Ext2-Dateisystems als veraltet und die Entfernung des alten NTFS-Treibers.        <\/p>\n<p>In die neue Version wurden 15680 \u00c4nderungen von 2106 Entwicklern integriert, die Patch-Gr\u00f6\u00dfe betr\u00e4gt 54 MB (es wurden 11825 Dateien ge\u00e4ndert, 687954 Codezeilen hinzugef\u00fcgt und 225344 Zeilen entfernt). In der vorherigen Version gab es 15641 \u00c4nderungen von 2018 Entwicklern, die Patch-Gr\u00f6\u00dfe betrug 44 MB. Etwa 42% aller in Version 6.9 vorgestellten \u00c4nderungen betreffen Ger\u00e4tetreiber, etwa 17% beziehen sich auf die Aktualisierung von code-spezifischen Hardware-Architekturen, 13% stehen im Zusammenhang mit dem Netzwerk-Stack, 7% mit Dateisystemen und 4% mit internen Subsystemen des Kernels.      <\/p>\n<p>Die wichtigsten Neuerungen im Kernel 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. Dieses bietet Funktionen wie die Deduplizierung von redundanten Daten, Datenkompression, Ausschluss von leeren Bl\u00f6cken und die Erh\u00f6hung der Gr\u00f6\u00dfe des Blockger\u00e4ts nach Bedarf (thin provisioning). Die genannten Funktionen werden auf der Ebene des Blockger\u00e4ts realisiert und sind unabh\u00e4ngig vom verwendeten Dateisystem. Beispielsweise kann mit dm-vdo eine automatische Zusammenf\u00fchrung redundanter Daten und die Speicherung von Informationen in komprimierter Form f\u00fcr beliebige Dateisysteme erfolgen. Der Einsatz von dm-vdo f\u00fcr physische Speicher mit einer Gr\u00f6\u00dfe von bis zu 256 TB sowie die Erstellung logischer Volumes von bis zu 4 PB wird unterst\u00fctzt. Zur Verwaltung von VDO-Partitionen wird die Verwendung von lvm empfohlen. Die VDO-Technologie wurde von der Firma 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, ohne den im Benutzerspeicher laufenden Prozess zu umgehen, 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, den Inhalt von Dateien aus dem urspr\u00fcnglichen Dateisystem bereitstellen, ohne sie an den FUSE-Prozess zu \u00fcbertragen.\n<li class=\"l\"> Der Treiber mit der Implementierung des Dateisystems Ext2 ist in die Kategorie der veralteten (deprecated) Treiber \u00fcberf\u00fchrt worden. Als Grund wird angef\u00fchrt, dass der Treiber nur 32-Bit-Zeitstempel in den Inodes unterst\u00fctzt, 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 dessen Funktionen unterst\u00fctzt. Gleichzeitig kann er in Ext2-Partitionen Zeitstempel verwenden, die nicht vom Problem des Jahres 2038 betroffen sind, sofern das Dateisystem mit Inodes erstellt wurde, die gr\u00f6\u00dfer als 255 Bytes sind (im Ext2-Treiber wurden 32-Bit-Zeitstempel unabh\u00e4ngig von der Gr\u00f6\u00dfe des Inodes verwendet).\n<li class=\"l\"> Der alte NTFS-Dateisystemtreiber wurde entfernt, und ab der Version 5.15 wurde der neue NTFS3-Treiber eingef\u00fchrt. Die Bereitstellung von zwei NTFS-Implementierungstreibern im Kernel wurde als unzweckm\u00e4\u00dfig erachtet, da der alte Treiber seit vielen Jahren nicht mehr aktualisiert wurde, sich in einem bedauerlichen Zustand befindet und nur im Lese-Modus betrieben werden kann.\n<li class=\"l\"> In die Dateisysteme zonefs und hugetlbfs wurde die Unterst\u00fctzung f\u00fcr das Mapping von Benutzer-ID-Identifikatoren in gemounteten Dateisystemen integriert, die verwendet wird, um Dateien eines bestimmten Benutzers auf einem gemounteten fremden Partition mit einem anderen Benutzer im aktuellen System abzugleichen.\n<li class=\"l\"> In NFSv4 haben Administratoren die M\u00f6glichkeit, die Zust\u00e4nde von ge\u00f6ffneten Dateien und deren Sperrungen zu bereinigen.\n<li class=\"l\"> F\u00fcr das Dateisystem Ext4 wird nur eine Fehlerkorrektur und ein Update der Kunit-Tests vermerkt.\n<li class=\"l\"> In Btrfs wird die \u00dcbertragung von Funktionen auf die Verwendung von Seitenbuchseiten (page folios) fortgesetzt.\n<li class=\"l\">  Im XFS-Dateisystem wird weiterhin an der Implementierung der M\u00f6glichkeit gearbeitet, das Tool fsck f\u00fcr die \u00dcberpr\u00fcfung und Behebung von Problemen im Online-Modus zu verwenden, ohne das Dateisystem aush\u00e4ngen zu m\u00fcssen.\n<li class=\"l\"> Dem Systemaufruf pwritev2() wurde das Flag RWF_NOAPPEND hinzugef\u00fcgt, das es erm\u00f6glicht, eine Offset f\u00fcr die Schreiboperation anzugeben, auch wenn die Datei im Anhangsmodus ge\u00f6ffnet wurde.\n<li class=\"l\"> Neue ioctl-Befehle hinzugef\u00fcgt: FS_IOC_GETUUID \u2014 gibt die UUID der angegebenen Dateisysteme zur\u00fcck und FS_IOC_GETFSSYSFSPATH \u2014 bestimmt den Speicherort im \/sys\/fs f\u00fcr das angegebene gemountete Dateisystem.\n<li class=\"l\"> Die Dateisysteme efs, qnx4 und coda wurden auf die Verwendung der neuen API zum Mounten von Partitionen umgestellt.\n<li class=\"l\"> Die Implementierung von Dateioperationen im Gro\u00df-\/Kleinschreibungsunabh\u00e4ngigen Modus wurde verbessert. Die Leistung wurde gesteigert, indem zuerst ein Vergleich unter Ber\u00fccksichtigung der Gro\u00df- und Kleinschreibung durchgef\u00fchrt und dann auf eine Suche ohne Ber\u00fccksichtigung der Gro\u00df- und Kleinschreibung zur\u00fcckgegriffen wird. Probleme beim Einh\u00e4ngen von overlayfs \u00fcber Verzeichnisse, f\u00fcr die der Modus ohne Ber\u00fccksichtigung der Gro\u00df- und Kleinschreibung 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 \u00dcbertragung von Informationen \u00fcber niedrigstufige Ereignisse im Vergleich zum derzeit verwendeten IDT (Interrupt Descriptor Table)-Mechanismus zu verbessern. Die Leistung wird erh\u00f6ht und die Latenz verringert, indem Ereignisse durch die Prozessoranweisung IRET zur\u00fcckgegeben werden, anstatt sie \u00fcber die IDT-Tabelle zu \u00fcbermitteln. Die Zuverl\u00e4ssigkeit wird durch die separate Verarbeitung des Eintreffens von Ereignissen im Kontext des Kernels und des Benutzerkontexts, den Schutz vor geschachtelter NMI-Ausf\u00fchrung und die Speicherung aller mit der Ausnahme verbundenen CPU-Register im erweiterten Stapelrahmen erreicht.\n<li class=\"l\"> Die M\u00f6glichkeit zur Optimierung des Zugriffs auf Daten bestimmter CPU-Kerne wurde durch die Verwendung von benannten Adressr\u00e4umen (Named Address Spaces) im Code eingef\u00fchrt, die in GCC als GNU C-Erweiterung implementiert sind.\n<li class=\"l\"> Der Funktion pidfd_open() 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. Zudem wurde eine Implementierung eines Pseudo-Dateisystems vorgeschlagen, um auf pidfd \u00fcber ein virtuelles Dateisystem zuzugreifen. Im Gegensatz zur Identifizierung von Prozessen mit PID ist die pidfd-ID an einen bestimmten Prozess gebunden und bleibt unver\u00e4ndert, w\u00e4hrend die PID nach dem Abschluss des aktuellen Prozesses einem anderen Prozess zugeordnet werden kann.\n<li class=\"l\"> Ein Mechanismus f\u00fcr BPF-Token wurde in das BPF-Subsystem eingef\u00fchrt, der es erm\u00f6glicht, programmspezifische Zugriffsrechte auf privilegierte BPF-Operationen selektiv zu delegieren. Beispielsweise kann einem nicht privilegierten Programm der Zugriff auf bestimmte BPF-Subsysteme gew\u00e4hrt werden, ohne vollst\u00e4ndige CAP_BPF-Rechte zu gew\u00e4hren.\n<li class=\"l\"> In das BPF-Subsystem wurde ein neuer Typ des gemeinsam genutzten Speichers bpf_arena eingef\u00fchrt, der einen Bereich definiert, der von BPF-Programmen und Benutzermodus-Prozessen gemeinsam genutzt werden kann. Die may_goto-Anweisung wurde hinzugef\u00fcgt, um die Ausf\u00fchrung von Schleifen zu organisieren, die vom Verifikator unterbrochen werden k\u00f6nnen. Es besteht die M\u00f6glichkeit, zuf\u00e4llige TCP SYN-Cookies aus BPF-Programmen zu generieren und BPF-Handler zur Bek\u00e4mpfung von SYN-Floods zu erstellen.\n<li class=\"l\"> Die Integration von \u00c4nderungen aus dem Rust-for-Linux-Zweig wurde fortgesetzt, die die Verwendung der Programmiersprache Rust als zweite Sprache f\u00fcr die Entwicklung von Treibern und Kernelmodulen betrifft (Unterst\u00fctzung f\u00fcr Rust ist standardm\u00e4\u00dfig nicht aktiv und f\u00fchrt nicht dazu, dass Rust zu den erforderlichen Build-Abh\u00e4ngigkeiten des Kernels geh\u00f6rt). Unterst\u00fctzung f\u00fcr die Verwendung von Rust auf 64-Bit ARM-Prozessoren hinzugef\u00fcgt. Umstellung auf die Verwendung von Rust-Version 1.76. Makro \u2018container_of!\u2019 hinzugef\u00fcgt. Statt der instabilen Funktionalit\u00e4t \u2018ptr_metadata\u2019 wird die stabile Methode \u2018byte_sub\u2019 verwendet. Modul \u2018time\u2019 mit der Funktion zur Zeitumwandlung \u2018msecs_to_jiffies()\u2019 hinzugef\u00fcgt.\n<li class=\"l\"> Im io_uring-Subsystem wurde die M\u00f6glichkeit zum Trimmen von Dateien (ftruncate_file) hinzugef\u00fcgt.\n<li class=\"l\"> Ein neuer Typ von Arbeitswarteschlangen WQ_BH (Workqueue Bottom Halves) wurde hinzugef\u00fcgt, um Code im Kontext von Software-Interrupts asynchron auszuf\u00fchren, anstelle der veralteten Tasklets.\n<li class=\"l\"> Das Subsystem f\u00fcr die Timerverwaltung wurde umfassend \u00fcberarbeitet, wobei die Logik zur Auswahl des aktiven CPU-Kerns zur Ausf\u00fchrung des ausgel\u00f6sten Timers verbessert wurde, um zu verhindern, dass inaktive Kerne aus dem Schlafmodus geweckt werden.\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, sodass sie in Tests auf einem station\u00e4ren System jetzt 1,43-mal schneller ausgef\u00fchrt wird, und im Test auf der RockPi 4B-Platine sogar 1,69-mal schneller.\n<li class=\"l\"> Die Unterst\u00fctzung f\u00fcr den Betrieb von Systemen auf ARM64-Architekturen 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 (Page Table Entry)-Aufzeichnungen implementiert, die die Leistung durch eine verbesserte Effizienz der Nutzung des TLB (Translation Lookaside Buffer) steigern.\n<li class=\"l\"> Patches zur Steigerung der Leistung des Speichermanagement-Subsystems wurden \u00fcbernommen, um konkurrierende Sperren in vmalloc() zu reduzieren.\n<li class=\"l\"> F\u00fcr die LoongArch-Architektur wurde ein Mechanismus f\u00fcr das Live-Patching des Kernels implementiert, der es erm\u00f6glicht, Korrekturen am Kernel ohne Neustart anzuwenden.\n<li class=\"l\"> F\u00fcr RISC-V-Systeme wurde Unterst\u00fctzung f\u00fcr den Systemaufruf membarrier() implementiert, der Speicherbarrieren f\u00fcr aktive Threads im System festlegt.\n<li class=\"l\"> Die Anforderungen an die Version von LLVM\/Clang, die zum Kompilieren des Kernels verwendet werden kann, wurden erh\u00f6ht. F\u00fcr den Build wird jetzt mindestens die Version LLVM 13.0.1 ben\u00f6tigt (zuvor war ein Build mit LLVM 11+ m\u00f6glich).\n<li class=\"l\"> Im Mechanismus \u201eUser trace events\u201c, der es erm\u00f6glicht, Trace-Events aus Benutzerprozessen zur Verfolgung von Aktivit\u00e4ten im User-Space zu erstellen, wurde die Unterst\u00fctzung f\u00fcr den Export von Ereignisinformationen in verschiedenen Formaten (USER_EVENT_REG_MULTI_FORMAT) hinzugef\u00fcgt.\n<li class=\"l\"> In den Mechanismus zur R\u00fcckverfolgung von Funktionsaufrufen wurde die M\u00f6glichkeit hinzugef\u00fcgt, den Status der eingehenden Funktionsargumente beim Verfolgen des Funktionsausgangs zu \u00fcberwachen. Die Werte des R\u00fcckgabewerts k\u00f6nnen nun mit den Argumenten, die beim Aufruf der Funktion verwendet wurden, abgeglichen werden.\n<li class=\"l\"> Das Tool perf hat die Unterst\u00fctzung f\u00fcr den Aggregationsmodus \u201ecluster\u201c (\u201eperf stat -a --per-cluster\u201c) zur Zusammenf\u00fchrung von Statistiken \u00fcber shared resources erhalten. Zudem wurde die M\u00f6glichkeit implementiert, die Bibliothek libcapstone zum Disassemblieren von Prozessoranweisungen zu nutzen (\u201eperf script -F disasm\u201c). Des Weiteren wurden Optimierungen des Speicherverbrauchs bei der Ausf\u00fchrung der Befehle perf report und perf annotate vorgenommen.                    <\/ul>\n<li class=\"l\"> <b>Virtualisierung und Sicherheit<\/b>\n<ul>\n<li class=\"l\"> Der Schutz vor der Schwachstelle RFDS (Register File Data Sampling) wurde f\u00fcr Intel Atom-Prozessoren hinzugef\u00fcgt. Diese Schwachstelle erm\u00f6glicht es, residuale Informationen aus den Registerdateien (RF, Register File) des Prozessors zu extrahieren, die verwendet werden, um den Inhalt der Register f\u00fcr alle Aufgaben auf demselben CPU-Kern gemeinsam zu speichern. Um die Schwachstelle zu blockieren, ist ein Microcode-Update erforderlich sowie die Verwendung des Befehls VERW zum L\u00f6schen des Inhalts der mikroarchitektonischen Puffer beim \u00dcbergang vom Kernel in den Benutzermodus. Um den Schutz beim Starten des Kernels zu aktivieren, kann das Flag \"reg_file_data_sampling=on\" gesetzt werden. Informationen \u00fcber die Anf\u00e4lligkeit f\u00fcr die Schwachstelle und die Verf\u00fcgbarkeit des ben\u00f6tigten Schutz-Microcodes k\u00f6nnen in der Datei \"\/sys\/devices\/system\/cpu\/vulnerabilities\/reg_file_data_sampling\" bewertet werden.\n<li class=\"l\"> Die grundlegende Unterst\u00fctzung f\u00fcr den Schutz von Gastsystemen wurde durch die Erweiterung AMD SEV-SNP (Secure Nested Paging) hinzugef\u00fcgt, die eine sichere Verarbeitung von verschachtelten Seitentabellen gew\u00e4hrleistet und vor den Angriffen \"undeSErVed\" und \"SEVerity\" auf AMD EPYC-Prozessoren sch\u00fctzt, die 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> Die erforderlichen \u00c4nderungen f\u00fcr die Nutzung von SNP sind in der Version 6.10 geplant.\n<li class=\"l\"> Die Module, die die Technologien IMA (Integrity Measurement Architecture) und EVM (Extended Verification Module) implementieren, wurden auf das Framework LSM (Linux Security Modules) umgestellt. Dies erm\u00f6glichte eine deutliche Vereinfachung des Codes, ohne die Funktionalit\u00e4t zu verlieren, indem redundante Funktionen zusammengef\u00fchrt und die \u00fcber LSM verf\u00fcgbaren typischen M\u00f6glichkeiten genutzt wurden. Das IMA-Modul dient der \u00dcberpr\u00fcfung der Integrit\u00e4t von Betriebssystemkomponenten anhand digitaler Signaturen und Hashes. Das EVM-Modul sch\u00fctzt erweiterte Dateiattribute (xattrs) vor Angriffen, die darauf abzielen, ihre Integrit\u00e4t zu gef\u00e4hrden (EVM l\u00e4sst keine Offline-Angriffe zu, bei denen ein Angreifer Metadaten \u00e4ndern kann, beispielsweise indem er von seinem eigenen Speicherger\u00e4t startet).\n<li class=\"l\"> Die Systemaufrufe lsm_list_modules(), lsm_get_self_attr() und lsm_set_self_attr() wurden f\u00fcr eine bessere Kompatibilit\u00e4t mit 32-Bit-Umgebungen \u00fcberarbeitet. Diese wurden entwickelt, um eine Liste der geladenen LSM-Module (Linux Security Modules) anzuzeigen und Attribute des LSM-Moduls abzurufen oder zu setzen. Diese \u00c4nderungen brechen die Abw\u00e4rtskompatibilit\u00e4t, jedoch h\u00e4lt Linus Torvalds diese \u00c4nderung f\u00fcr zul\u00e4ssig, da die neuen Systemaufrufe in der letzten Kernelversion hinzugef\u00fcgt wurden und bisher in Anwendungen nicht verwendet werden.\n<li class=\"l\"> Es wurde ein Versuch unternommen, den UBSAN (Undefined Behavior Sanitizer) Mechanismus wieder zu verwenden. Das Problem liegt darin, dass Compiler ganz unterschiedlich mit Integer-\u00dcberl\u00e4ufen bei vorzeichenbehafteten und vorzeichenlosen Typen umgehen. Vorzeichen\u00fcberl\u00e4ufe und Zeiger\u00fcberl\u00e4ufe fallen in die Kategorie des undefinierten Verhaltens, w\u00e4hrend vorzeichenlose \u00dcberl\u00e4ufe modulo 2n behandelt werden und nur die niedrigeren Bits des Ergebnisses erhalten bleiben (\u201ewrap-around\u201c) und nicht als undefiniertes Verhalten gelten. Um Situationen mit undefiniertem Verhalten zu vermeiden, wird der Kernel mit der Option \u201e-fno-strict-overflow\u201c kompiliert, was zur Anwendung von \u201ewrap-around\u201c f\u00fcr alle Integer-\u00dcberl\u00e4ufe f\u00fchrt. GCC und Clang k\u00f6nnen einige Probleme bei der Verwendung der Option \u201e-fno-strict-overflow\u201c nicht richtig diagnostizieren, und die Aktivierung von UBSAN zielt darauf ab, die Zusammenarbeit mit den Compiler-Entwicklern zu f\u00f6rdern, um falsche Ausl\u00f6sungen zu beseitigen und Integer-\u00dcberl\u00e4ufe an Stellen zu identifizieren, an denen keine expliziten \u00dcberpr\u00fcfungen vorhanden sind.\n<p>Zur \u00dcberpr\u00fcfung m\u00f6glicher \u00dcberl\u00e4ufe im Kernel werden Konstruktionen wie \u201evar + offset\u201c verwendet. <var> PAGE_SHIFT) &lt; pgoff){..}&quot;), die in einer Version mit dem Flag &quot;-fno-strict-overflow&quot; verankert sind und nicht den gesamten Code abdecken, in dem potenziell \u00dcberl\u00e4ufe auftreten k\u00f6nnen. Das Problem dabei ist, dass bei der Verwendung von UBSAN solche \u00dcberpr\u00fcfungen zu einer Vielzahl von Fehlalarmen f\u00fchrten, weshalb UBSAN im Jahr 2021 deaktiviert werden musste. In der aktualisierten Implementierung wird vorgeschlagen, spezielle Anmerkungen __signed_wrap und __unsigned_wrap zu verwenden, sowie fertige Makros mit \u00dcberpr\u00fcfungen add_would_overflow(a, b) und add_wrap(a, b), die es erm\u00f6glichen, die Absicht der Entwickler zur Nutzung von Ganzzahl\u00fcberl\u00e4ufen von zuf\u00e4lligen \u00dcberl\u00e4ufen zu trennen, die zu Schwachstellen f\u00fchren k\u00f6nnen. Der Vorschlag f\u00fcr eine umfassendere \u00dcberarbeitung des Kernels mit zus\u00e4tzlichen Typdefinitionen wurde von Linus Torvalds abgelehnt.                      <\/ul>\n<li class=\"l\"> <b>Netzwerksubsystem<\/b>\n<ul>\n<li class=\"l\">  Im Netzwerk-Subsystem wurden Ma\u00dfnahmen ergriffen, um die Entstehung von konkurrierenden Sperren (\"lock contention\", der Versuch, eine von einem anderen Thread gehaltene Sperre zu erhalten) zu verringern. Der Einsatz von RTNL-Sperren wurde reduziert.\n<li class=\"l\"> Die M\u00f6glichkeit zur Aktivierung der Unterst\u00fctzung f\u00fcr aktives Socket-Polling (busy polling) im Kontext einzelner epoll-Aufrufe wurde hinzugef\u00fcgt. Die Poolgr\u00f6\u00dfe und die Budgetparameter k\u00f6nnen separat von den systemweiten Standardeinstellungen festgelegt werden.\n<li class=\"l\"> Die Struktur net_hotdata wurde implementiert, um die Effizienz des Cache f\u00fcr die 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 es erm\u00f6glicht, die Gr\u00f6\u00dfe des Sendepuffers zu begrenzen. Im MCTP-Socket-API wurde die Unterst\u00fctzung f\u00fcr 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 die Weiterleitung von ICMP-Nachrichten mit 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 XDP-Leistung wurde durch die strikte Vermeidung der Zuweisung gro\u00dfer Speicherbl\u00f6cke verbessert.\n<li class=\"l\"> Die M\u00f6glichkeit zur Anheftung von Metadaten an netconsole-Nachrichten wurde hinzugef\u00fcgt.\n<li class=\"l\"> In Netfilter ist die Definition von Tabellen aus dem Benutzerspeicherraum erlaubt, die an einen 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 kombinierten Bereichen beschleunigt.                      <\/ul>\n<li class=\"l\"> <b>Ausr\u00fcstung<\/b>\n<ul>\n<li class=\"l\"> Im i915-Treiber wurde die Arbeit an der Unterst\u00fctzung von Intel LunarLake (Xe 2)-Chips fortgesetzt. Neue PCI-Identifikatoren f\u00fcr Ger\u00e4te auf Basis von Intel Arrow Lake und Alder Lake N wurden hinzugef\u00fcgt. F\u00fcr Displayport wurde Unterst\u00fctzung f\u00fcr Tunneling (DP Tunneling) und Bandbreitenzuweisung (Bandwidth Allocation) hinzugef\u00fcgt. F\u00fcr alle Plattformen wurde der Fastboot-Modus aktiviert. Unterst\u00fctzung f\u00fcr Debug-Ausgaben im Zusammenhang mit einzelnen Ger\u00e4ten wurde hinzugef\u00fcgt.\n<li class=\"l\"> Im AMDGPU-Treiber wurde die Vorbereitung zur Unterst\u00fctzung von GPU AMD RDNA3.5 und RDNA4 durchgef\u00fchrt. 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. Im Kernel-Modul wurde der Parameter freesync_video hinzugef\u00fcgt, um die experimentelle Unterst\u00fctzung zur Optimierung des Wechsels zwischen Videomodi mit FreeSync-Technologie zu aktivieren.\n<li class=\"l\"> Im Nouveau-Treiber wurde der Anzeigesteuerungscode auf die Verwendung der Funktion kmemdup() umgestellt.\n<li class=\"l\"> Die Entwicklung des drm-Treibers (Direct Rendering Manager) f\u00fcr die Xe-GPU-Architektur von Intel, die in Intel Arc-Grafikkarten und integrierter Grafik ab Tiger Lake-Prozessoren verwendet wird, wurde fortgesetzt.\n<li class=\"l\"> DRM-Treiber f\u00fcr Mediatek MT8188 VDOSYS1-Chips hinzugef\u00fcgt.\n<li class=\"l\"> Kernel-Einstellungen, die mit der Video-Subsystemen verbunden sind, wurden in den Abschnitt CONFIG_VIDEO verschoben.\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr ARM64 SoC: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M), TI J722S hinzugef\u00fcgt.\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr ARM-Plattformen und -Ger\u00e4te hinzugef\u00fcgt: Android-Smartphones mit Tegra30-Chips, Chromebook-Modelle mit Mediatek MT8186, NAS, Tablets und Spielekonsolen auf Basis von Rockchips RK35xx, White Hawk-Boards auf Renesas SoC, Qualcomm SM8550 (Snapdragon 8 Gen 2)-Boards, Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.\n<li class=\"l\"> Der Code des Audio-Subsystems ALSA wurde refaktoriert. Unterst\u00fctzung f\u00fcr die Audiosysteme Microchip SAM9x7, NXP i.MX95 und Qualcomm WCD939x wurde hinzugef\u00fcgt. Der SoundWire-Treiber unterst\u00fctzt jetzt ASoC mit den Audio-Co-Prozessoren AMD ACP 6.3, und f\u00fcr Intel-Systeme wurde ein DSPless-Modus implementiert. Unterst\u00fctzung f\u00fcr zus\u00e4tzliche Audio-Codecs Cirrus HD wurde hinzugef\u00fcgt. Im Virtio-Treiber wurde das Management von Audio-Ger\u00e4ten 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>Zur gleichen Zeit hat die lateinamerikanische Free Software Foundation eine vollst\u00e4ndig freie Version des Kernels 6.9 - Linux-libre 6.9-gnu - ver\u00f6ffentlicht, die von Komponenten oder Codeabschnitten befreit ist, die nicht frei sind oder deren Nutzung vom Hersteller eingeschr\u00e4nkt wird. In Version 6.9 wurde der Bereinigungscode f\u00fcr Blobs in den Treibern amdgpu, ath12k, adreno, btusb und r8169 aktualisiert. Ein neuer Treiber ptp_fc3 wurde bereinigt. Die Namen der Blobs in den dts-Dateien (device tree) f\u00fcr die Architektur Aarch64 wurden bereinigt. Probleme mit der Bereinigung des i915-Treibers wurden behoben, die w\u00e4hrend der Initialisierung zu H\u00e4ngern f\u00fchrten. \u00c4nderungen wurden an der Verarbeitung von Blobs vorgenommen, die in Form von hexadezimalen Dumps geliefert werden.<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.0.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.0.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\udd47Release des Linux-Kernels 6.9 | ProHoster","description":"Nach zwei Monaten Entwicklung pr\u00e4sentierte Linus Torvalds die Ver\u00f6ffentlichung des Kernels Linux 6.9.","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}]}}