Linux 6.1 Kernel Verëffentlechung

No zwee Méint Entwécklung huet de Linus Torvalds d'Verëffentlechung vum Linux Kernel 6.1 presentéiert. Ënnert de bemierkenswäerten Ännerungen: Ënnerstëtzung fir d'Entwécklung vu Chauffeuren a Moduler an der Rust Sprooch, Moderniséierung vum Mechanismus fir d'Bestëmmung vun benotzte Memory Säiten, e spezielle Memory Manager fir BPF Programmer, e System fir d'Diagnos vun Erënnerungsproblemer KMSAN, de KCFI (Kernelk Control) -Flow Integrity) Schutzmechanismus, d'Aféierung vum Ahornstrukturbaum.

Déi nei Versioun enthält 15115 Fixer vun 2139 Entwéckler, d'Patchgréisst ass 51 MB, wat ongeféier 2 Mol méi kleng ass wéi d'Gréisst vun de Patches vu Kernel 6.0 a 5.19. D'Ännerungen betraff 13165 Dateien, 716247 Zeilen Code goufen derbäigesat, an 304560 Zeile goufen geläscht. Ongeféier 45% vun all Ännerungen, déi am 6.1 agefouert goufen, bezéie sech op Apparat Chauffeuren, ongeféier 14% vun den Ännerungen si mat der Aktualiséierung vum Code spezifesch fir Hardwarearchitekturen bezunn, 14% si mat dem Netzwierkstack, 3% si mat Dateiesystemer, an 3% verbonnen. si verbonne mat internen Kernel-Subsystemer.

Haaptinnovatiounen am Kernel 6.1:

  • Erënnerung a System Servicer
    • D'Fäegkeet bäigefüügt fir Rust als zweet Sprooch ze benotzen fir Chauffeuren a Kernelmoduler z'entwéckelen. Den Haaptgrond fir Rust z'ënnerstëtzen ass et méi einfach ze maachen sécher a qualitativ héichwäerteg Apparat Chauffeuren ze schreiwen andeems d'Wahrscheinlechkeet reduzéiert gëtt fir Feeler ze maachen wann Dir mat Erënnerung schafft. Rust Ënnerstëtzung ass par défaut deaktivéiert a féiert net dozou datt Rust als erfuerderlech Kernel Build Ofhängegkeet abegraff ass. De Kernel huet bis elo eng minimal, ofgeschnidden Versioun vun de Patches ugeholl, déi vun 40 op 13 Tausend Zeilen Code reduzéiert gouf an nëmmen déi néideg Minimum ubitt, genuch fir en einfachen Kernelmodul ze bauen an der Rust Sprooch geschriwwe ginn. An Zukunft ass et geplangt déi existent Funktionalitéit graduell ze erhéijen, aner Ännerungen aus der Rust-for-Linux Branche ze transferéieren. Parallel gi Projeten entwéckelt fir déi proposéiert Infrastruktur ze benotzen fir Treiber fir NVMe Drive, den 9p Netzprotokoll an den Apple M1 GPU an der Rust Sprooch z'entwéckelen.
    • Fir Systemer baséiert op AArch64, RISC-V a LoongArch Architekturen mat EFI, ass d'Fäegkeet fir kompriméiert Kernelbilder direkt ze lueden implementéiert. Dobäi Handler fir Luede, Lafen an Ausluede Kernel Biller, direkt vun EFI zboot genannt. Handler fir Protokoller aus der EFI Protokoll Datebank z'installéieren an ze läschen sinn och bäigefüügt. Virdrun gouf d'Upackung vun engem separaten Bootloader duerchgefouert, awer elo kann dëst vun engem Handler am Kernel selwer gemaach ginn - de Kernelbild gëtt als EFI Applikatioun geformt.
    • D'Zesummesetzung enthält en Deel vun de Patches mat der Ëmsetzung vun engem Multi-Level Memory Gestiounsmodell, deen Iech erlaabt Erënnerungsbanken mat verschiddene Leeschtungseigenschaften ze trennen. Zum Beispill kënnen déi meescht benotzte Säiten am schnellsten Gedächtnis gespäichert ginn, während déi meescht selten benotzte Säiten a relativ luesen Erënnerung gespäichert kënne ginn. Kernel 6.1 stellt e Mechanismus fir ze bestëmmen wou staark benotzte Säiten a luesem Gedächtnis lokaliséiert sinn, sou datt se op séier Gedächtnis gefördert kënne ginn, an och en allgemengt Konzept vu Gedächtnisniveauen an hir relativ Leeschtung.
    • Et enthält den MGLRU (Multi-Generational LRU) Mechanismus, deen déi al LRU (Least Recently Used) Implementatioun ersetzt baséiert op zwou Schlaangen mat enger Multi-Stage Struktur, déi besser bestëmmt wéi eng Erënnerungssäiten tatsächlech am Gebrauch sinn an déi erausgedréckt kënne ginn der Swap Partition.
    • Zousätzlech Ënnerstëtzung fir d'Datenstruktur "Ahornbaum" proposéiert vun Oracle Ingenieuren, déi als e méi effektiven Ersatz fir d'Struktur "rout-schwaarz Bam" positionéiert ass. Ahornbaum ass eng Variant vu B-Baum déi d'Bandindexéierung ënnerstëtzt an ass entwéckelt fir effizient Notzung vum Cache vu modernen Prozessoren ze maachen. E puer Gedächtnismanagement-Subsystemer sinn schonn op Ahornbaum transferéiert ginn, wat e positiven Effekt op hir Leeschtung hat. An Zukunft kann Ahornbaum benotzt ginn fir Range Locking ëmzesetzen.
    • D'Kapazitéit fir "zerstéierend" BPF Programmer ze kreéieren, déi speziell entwéckelt sinn fir en Noutausschaltung iwwer den crash_kexec () Uruff unzefänken ass an de BPF Subsystem bäigefüügt. Esou BPF Programmer kënne fir Debugging Zwecker erfuerderlech sinn fir d'Schafung vun engem Crash Dump zu engem gewëssen Zäitpunkt ze initiéieren. Fir Zougang zu zerstéierende Operatiounen wann Dir e BPF Programm lued, musst Dir de BPF_F_DESTRUCTIVE Fändel uginn, sysctl kernel.destructive_bpf_enabled aktivéieren an CAP_SYS_BOOT Rechter hunn.
    • Fir BPF Programmer ass et méiglech cgroup Elementer z'enumeréieren, souwéi Ressourcen (Dateien, vma, Prozesser, etc.) vun engem spezifesche Fuedem oder Aufgab opzezielen. En neie Kaarttyp gouf implementéiert fir Benotzerringbuffer ze kreéieren.
    • Eng speziell Uruff fir Erënnerungsallokatioun a BPF Programmer bäigefüügt (Memory Allocator), déi méi sécher Erënnerungsallokatioun am BPF Kontext bitt wéi de Standard kmalloc ().
    • Den éischten Deel vun den Ännerungen gouf integréiert, déi d'Fäegkeet ubitt Chauffeuren fir Input-Geräter mat engem HID (Human Interface Device) Interface ze kreéieren, implementéiert a Form vu BPF Programmer.
    • De Kernel huet de Code komplett geläscht fir den a.out ausführbare Dateiformat z'ënnerstëtzen, deen an der Verëffentlechung 5.1 ofgeschaaft gouf a fir grouss Architekturen zënter Versiounen 5.18 a 5.19 ausgeschalt gouf. D'a.out Format ass laang op Linux Systemer ofgeschaaft ginn, an d'Generatioun vun a.out Dateien gëtt net vun modernen Tools a Standard Linux Konfiguratiounen ënnerstëtzt. De Loader fir a.out Dateien ka ganz am Benotzerraum ëmgesat ginn.
    • Fir Systemer baséiert op der LoongArch Instruktiounsset-Architektur, déi an de Loongson 3 5000 Prozessoren benotzt ginn an déi nei RISC ISA implementéieren, ähnlech wéi MIPS a RISC-V, gëtt Ënnerstëtzung fir Performancemiessungsevenementer (perf Eventer), kexec, kdump a BPF JIT Kompiléierung implementéiert. .
    • D'io_uring asynchronous I / O Interface offréiert en neie Modus, IORING_SETUP_DEFER_TASKRUN, déi erlaabt Ring Puffer-Zesummenhang Aarbecht temporär ausgesat ginn, bis eng Applikatioun Ufro gemaach ginn, déi benotzt kënne batch Aarbecht an latency Problemer wéinst Preemption Uwendungen op der falsch Zäit.
    • Prozesser am Benotzerraum kréien d'Fäegkeet fir d'Konversioun vun enger Rei vun normalen Erënnerungssäiten an eng Rei vu grousse Gedächtnissäiten ze initiéieren (Transparent Huge-Pages).
    • Zousätzlech Ëmsetzung vum /dev/userfaultfd Apparat, deen Zougang zu der Funktionalitéit vum userfaultfd () System Uruff erlaabt mat Zougangsrechter an der FS. D'Userfaultfd-Funktionalitéit erlaabt Iech Handler ze kreéieren fir Zougang zu unallocated Memory Säiten (Säitfehler) am Benotzerraum.
    • D'Ufuerderunge fir d'Versioun vum GNU Make Utility goufen erhéicht - op d'mannst Versioun 3.82 ass elo erfuerderlech fir de Kernel ze bauen.
  • Disk Subsystem, I/O an Dateisystemer
    • Bedeitend Leeschtungsoptimiséierunge goufen zum Btrfs Dateisystem ënner anerem gemaach, d'Performance vum FIEMAP ioctl Call gouf duerch Uerder vun der Gréisst erhéicht. Ënnerstëtzung bäigefüügt fir asynchrone gebufferte Schreifweis fir Uwendungen déi io_uring benotzen. Ënnerstëtzung bäigefüügt fir Dateien geschützt mat fs-verity fir d'"Send" Operatioun.
    • Den ext4 Dateiesystem huet Performanceoptimiséierunge bäigefüügt am Zesummenhang mat Journal Ënnerhalt a Lies-nëmmen Operatioun.
    • Den EROFS (Enhanced Read-Only File System) Dateiesystem, entwéckelt fir ze benotzen op Partitionen zougänglech am Read-only Modus, implementéiert d'Fäegkeet fir Daten ze deelen, déi a verschiddene Dateisystemer duplizéiert sinn.
    • De statx () System Uruff gouf bäigefüügt fir Informatioun ze weisen ob direkt I/O op eng Datei applizéiert ka ginn.
    • Ënnerstëtzung fir temporär Dateien mat dem O_TMPFILE Fändel ze kreéieren gouf an de FUSE (Filesystems in User Space) Subsystem bäigefüügt.
  • Virtualiséierung a Sécherheet
    • D'Ëmsetze vum CFI (Control Flow Integrity) Schutzmechanismus gouf ersat, d'Kontrollen bäigefüügt virun all indirekten Uruff vun enger Funktioun fir e puer Forme vun ondefinéiert Verhalen z'entdecken, déi potenziell zu enger Verletzung vun der normaler Ausféierungsuerdnung (Kontrollfloss) féieren kënnen Resultat vun der Notzung vun Ausnotzen, déi Hiweiser op Funktiounen änneren, déi an der Erënnerung gespäichert sinn. D'Standardimplementatioun vum CFI vum LLVM-Projet gouf duerch eng Optioun ersat, déi och op der Benotzung vu Clang baséiert, awer speziell ugepasst fir Low-Level Subsystems a Betribssystemkären ze schützen. Am LLVM gëtt eng nei Implementatioun an der Clang 16 Verëffentlechung ugebueden a gëtt mat der Optioun "-fsanitize=kcfi" aktivéiert. De Schlësselunterscheed mat der neier Implementatioun ass datt et net un Link-Zäit Optimisatiounen (LTO) gebonnen ass an net resultéiert datt Funktiounsweiser duerch Linken an der Sprangtabell ersat ginn.
    • Fir LSM Moduler (Linux Sécherheetsmodul) ass et méiglech Handler ze kreéieren déi Operatiounen ofbriechen fir Nummraim ze kreéieren.
    • Tools gi fir z'iwwerpréiwen PKCS # 7 digital Ënnerschrëften an BPF Programmer gëtt.
    • D'Kapazitéit fir am Net-Blockéierungsmodus opzemaachen (O_NONBLOCK), deen onbedéngt am Kernel 5.6 geläscht gouf, ass zréck op /dev/random.
    • Op Systemer mat x86 Architektur ass eng Warnung bäigefüügt ginn am Fall vun Kartéierung vun Erënnerungssäiten duerch Kernel Subsystemer déi gläichzäiteg Ausféierung a Schreiwen erlaben. An Zukunft gëtt iwwerluecht d'Méiglechkeet esou Erënnerungsmapping komplett ze verbidden.
    • KMSAN (Kernel Memory Sanitizer) Debugging Mechanismus bäigefüügt fir oninitialiséiert Erënnerungsverbrauch am Kärel z'entdecken, souwéi oninitialiséiert Gedächtnislecks tëscht Benotzerraum an Apparater.
    • Verbesserunge goufen am krypto-séchere CRNG pseudo-zoufälleg Zuel Generator gemaach am getrandom Uruff. D'Ännerunge goufen vum Jason A. Donenfeld, Autor vu VPN WireGuard virbereet, a zielen d'Sécherheet vun der pseudo-zoufälleg Integer Extraktioun ze verbesseren.
  • Netzwierk Subsystem
    • Den TCP-Stack bitt d'Fäegkeet (Standardbehënnert) fir Socket-Hash-Tabellen separat fir all Nummraum ze benotzen, wat d'Performance op Systemer mat enger grousser Zuel vu Nummraim verbessert.
    • Code geläscht fir de legacy DECnet Protokoll z'ënnerstëtzen. User Space API Stëfter sinn op der Plaz gelooss fir Uwendungen déi DECnet benotzen ze kompiléieren, awer dës Uwendungen kënnen net mam Netz verbannen.
    • Den Netlink Protokoll ass dokumentéiert.
  • Ausrüstung
    • Den amdgpu Chauffer huet Ënnerstëtzung fir DSC (Display Stream Compression) Forwarding bäigefüügt fir Verloschtlos Datekompressioun beim Austausch vun Informatioun mat Bildschirmer déi ganz héich Opléisungen ënnerstëtzen. D'Aarbecht geet weider fir Ënnerstëtzung fir d'AMD RDNA3 (RX 7000) an CDNA (Instinct) Plattformen ze bidden. Zousätzlech Ënnerstëtzung fir DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x an GMC 11.x IP Komponenten. Den amdkfd Chauffer (fir diskret AMD GPUs wéi Polaris) bitt Ënnerstëtzung fir GFX 11.0.3.
    • Den i915 (Intel) Chauffer enthält Ënnerstëtzung fir Meteor Lake GPU. Meteor Lake an méi nei GPUs ënnerstëtzen DP 2.0 (DisplayPort) Interface. Zousätzlech Identifizéierer fir Videokaarte baséiert op der Alder Lake S Mikroarchitektur.
    • Zousätzlech Ënnerstëtzung fir Audio-Subsystemer implementéiert an Apple Silicon, Intel SkyLake an Intel KabyLake Prozessoren. Den CS35L41 HDA Audio Driver ënnerstëtzt Schlofmodus. Zousätzlech ASoC (ALSA System on Chip) Ënnerstëtzung fir integréiert Audio Chips Apple Silicon, AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake a Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSPs, Qualcomm SC8280XP, SM SM8250 an Texas Instrumenter SRC8450
    • Zousätzlech Ënnerstëtzung fir LCD Panelen Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-EA1, B116ACA-EA01.6 116, INX N21BCA-EA116 , INX N2BCN-EA116, Multi-Inno Technology MI1FT-0800.
    • Zousätzlech Ënnerstëtzung fir AHCI SATA Controller benotzt am Baikal-T1 SoC.
    • Zousätzlech Ënnerstëtzung fir Bluetooth Chips MediaTek MT7921, Intel Magnetor (CNVi, Integréiert Konnektivitéit), Realtek RTL8852C, RTW8852AE an RTL8761BUV (Edimax BT-8500).
    • Den ath11k Chauffer fir Qualcomm drahtlose Moduler huet Ënnerstëtzung fir Spektral Scannen am 160 MHz Beräich bäigefüügt, multi-threaded NAPI implementéiert, a verbessert Ënnerstëtzung fir Qualcomm WCN6750 Wi-Fi Chips.
    • Zousätzlech Treiber fir PinePhone Tastatur, InterTouch Touchpads (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, IBM Operation Panel, XBOX One Elite Fernbedienungen, Pëllen XP-PEN Deco Pro S an Intuos Pro Small (PTH-460).
    • Zousätzlech Chauffer fir Aspeed HACE (Hash a Crypto Engine) kryptografesch Beschleuniger.
    • Zousätzlech Ënnerstëtzung fir integréiert Thunderbolt / USB4 Intel Meteor Lake Controller.
    • Zousätzlech Ënnerstëtzung fir Sony Xperia 1 IV, Samsung Galaxy E5, E7 a Grand Max, Pine64 Pinephone Pro Smartphones.
    • Zousätzlech Ënnerstëtzung fir ARM SoC a Boards: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 an RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0,, IPQ8062-v8065,, IPQ8,, IPQ8195, IP BL i.MX4MM OSM-S, MT4 (Acer Tomato), Radxa ROCK 1C+, NanoPi RXNUMXS Enterprise Edition, JetHome JetHub DXNUMXp. Aktualiséiert Treiber fir SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom an NXP.

Zur selwechter Zäit huet d'Latäinamerikanesch Free Software Foundation eng Versioun vum komplett gratis Kernel 6.1 geformt - Linux-libre 6.1-gnu, geläscht vun Elementer vun der Firmware a Chauffeuren déi net-gratis Komponenten oder Sektiounen vum Code enthalen, den Ëmfang vun deem ass vum Hiersteller limitéiert. Déi nei Verëffentlechung botzt den neie rtw8852b Chauffer an DTS Dateien fir verschidde Qualcomm a MediaTek SoCs mat Prozessoren baséiert op der AArch64 Architektur. Aktualiséiert Blob Botzen Code an Chauffeuren an subsystems amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. Botzen vun alen Chauffeuren tm6000 TV Kaarten, cpia2 v4l, sp8870, av7110 gouf korrigéiert.

Source: opennet.ru

Setzt e Commentaire