Linux 6.7 Kernel Verëffentlechung

No zwee Méint Entwécklung huet de Linus Torvalds d'Verëffentlechung vum Linux Kernel 6.7 presentéiert. Ënnert de bemierkenswäerten Ännerungen: Integratioun vum Bcachefs Dateisystem, Stopp vun der Ënnerstëtzung fir d'Itanium Architektur, d'Fäegkeet vun Nouvea fir mat GSP-R Firmware ze schaffen, Ënnerstëtzung fir TLS Verschlësselung an NVMe-TCP, d'Fäegkeet Ausnahmen an BPF ze benotzen, Ënnerstëtzung fir Futex am io_uring, Optimisatioun vun fq (Fair Queuing) Scheduler Leeschtung), Ënnerstëtzung fir d'TCP-AO Extensioun (TCP Authentifizéierungsoptioun) an d'Fäegkeet fir Netzwierkverbindungen am Landlock Sécherheetsmechanismus ze beschränken, Zougankskontrolle fir Benotzernummraum an io_uring iwwer AppArmor.

Déi nei Versioun enthält 18405 Fixer vun 2066 Entwéckler, d'Patchgréisst ass 72 MB (d'Ännerunge betraff 13467 Dateien, 906147 Zeilen Code goufen derbäigesat, 341048 Zeilen goufen geläscht). Déi lescht Verëffentlechung hat 15291 Fixer vun 2058 Entwéckler, d'Patchgréisst war 39 MB. Ongeféier 45% vun all Ännerungen, déi am 6.7 agefouert goufen, bezéien sech op Apparat Chauffeuren, ongeféier 14% vun den Ännerunge bezéie sech op d'Aktualiséierung vum Code spezifesch fir Hardwarearchitekturen, 13% si bezunn op den Netzwierkstack, 5% si mat Dateiesystemer bezunn, an 3% si verbonne mat internen Kernel-Subsystemer.

Haaptinnovatiounen am Kernel 6.7:

  • Disk Subsystem, I/O an Dateisystemer
    • De Kernel adoptéiert de Bcachefs Dateisystemcode, dee probéiert d'Performance, d'Zouverlässegkeet an d'Skalierbarkeet vun XFS z'erreechen, kombinéiert mat Elementer vun der fortgeschratter Funktionalitéit, déi a Btrfs an ZFS fonnt gëtt. Zum Beispill, Bcachefs ënnerstëtzt Funktiounen wéi verschidde Geräter an enger Partition abegraff, Multi-Layer Drive Layouten (déi ënnescht Schicht mat dacks benotzten Donnéeën baséiert op schnelle SSDs, an déi iewescht Schicht mat manner benotzten Daten vun Harddisken), Replikatioun (RAID) 1/10), Caching, transparent Datekompressioun (LZ4, gzip an ZSTD Modi), Staatsschnëtt (Snapshots), Integritéitsverifizéierung mat Kontrollsummen, d'Fäegkeet Reed-Solomon Fehlerkorrekturcoden ze späicheren (RAID 5/6), Informatioun späicheren an verschlësselte Form (ChaCha20 a Poly1305 gi benotzt). Wat d'Performance ugeet, ass Bcachefs virun Btrfs an aner Dateiesystemer baséiert op dem Copy-on-Write Mechanismus, a weist Operatiounsgeschwindegkeet no bei Ext4 an XFS.
    • De Btrfs Dateiesystem stellt e vereinfachte Quotemodus vir, deen Iech erlaabt méi héich Leeschtung ze erreechen andeems Dir Ausmooss nëmmen an der Ënnerpartition verfollegt, an där se erstallt sinn, wat d'Berechnungen wesentlech vereinfacht an d'Performance verbessert, awer et erlaabt Iech net d'Ausmooss ze berücksichtegen, déi a verschiddene gedeelt ginn. Ënnerdeelungen.
    • Btrfs huet eng nei "Sträifbaum" Datenstruktur bäigefüügt, gëeegent fir logesch Ausmooss Kaarten a Situatiounen wou kierperlech Kaarten net iwwer Apparater passen. D'Struktur gëtt am Moment an Implementatioune vu RAID0 an RAID1 fir zonéiert Blockgeräter benotzt. An Zukunft plangen se dës Struktur an méi héije RAIDs ze benotzen, déi eng Rei vu Probleemer an der aktueller Ëmsetzung léisen.
    • De Ceph Dateiesystem implementéiert Ënnerstëtzung fir d'Benotzer IDs vu montéierte Dateiesystemer ze kartéieren, benotzt fir d'Dateien vun engem spezifesche Benotzer op enger montéierter auslännescher Partition mat engem anere Benotzer am aktuelle System ze passen.
    • D'Fähigkeit bäigefüügt fir Uid a Gid op Mount op efivarfs ze spezifizéieren fir net-root Prozesser z'erméiglechen UEFI Variablen z'änneren.
    • Ioctl rifft op exFAT bäigefüügt fir FS Attributer ze liesen an z'änneren. Zousätzlech Handhabung vun Nullgréisst Verzeichnungen.
    • F2FS implementéiert d'Fäegkeet fir 16K Blocken ze benotzen.
    • Den Autofs Automount Mechanismus gouf gewiesselt fir déi nei Partition Montage API ze benotzen.
    • OverlayFS bitt "lowerdir+" an "datadir+" Montéierungsoptiounen. Zousätzlech Ënnerstëtzung fir nested Montage vun OverlayFS mat xattrs.
    • XFS huet d'CPU Belaaschtung am Echtzäit Block Allocation Code optimiséiert. D'Kapazitéit fir gläichzäiteg Lies- a FICLONE Operatiounen auszeféieren gëtt zur Verfügung gestallt.
    • Den EXT2 Code gouf ëmgewandelt fir Säit Folioen ze benotzen.
  • Erënnerung a System Servicer
    • Ënnerstëtzung fir d'ia64 Architektur benotzt an Intel Itanium Prozessoren, déi am Joer 2021 komplett gestoppt goufen, gouf gestoppt. Itanium Prozessoren goufen vum Intel am Joer 2001 agefouert, awer d'ia64 Architektur konnt net mat AMD64 konkurréiere, haaptsächlech wéinst der méi héijer Leeschtung vun AMD64 an dem méi glatteren Iwwergang vun 32-Bit x86 Prozessoren. Als Resultat hunn d'Intel Interessen zugonschte vun x86-64 Prozessoren verréckelt, an dem Itanium säi Lot blouf HP Integrity Server, Bestellunge fir déi virun dräi Joer gestoppt goufen. Code fir ia64 Ënnerstëtzung gouf aus dem Kernel geläscht haaptsächlech wéinst dem laangfristeg Mangel un Ënnerstëtzung fir dës Plattform, während de Linus Torvalds säi Wëllen ausgedréckt huet fir ia64 Ënnerstëtzung an de Kernel zréckzekommen, awer nëmmen wann et en Ënnerhalter gëtt deen héichqualitativ beweise kann. Ënnerstëtzung fir dës Plattform ausserhalb vum Haaptkär fir op d'mannst ee Joer.
    • Den "ia32_emulation" Kernel Line Kommando Parameter bäigefüügt, wat Iech erlaabt d'Ënnerstëtzung fir 32-Bit Modus Emulatioun an Kernelen z'aktivéieren oder auszeschalten, déi fir d'x86-64 Architektur op der Bootstadium gebaut goufen. Op der praktescher Säit erlaabt déi nei Optioun de Kernel mat Ënnerstëtzung fir Kompatibilitéit mat 32-Bit Uwendungen ze bauen, awer deaktivéiert dëse Modus par défaut fir den Attackvektor op de Kernel ze reduzéieren, well d'Kompatibilitéit API manner getest gëtt wéi den Haaptkär. Schnëttplazen.
    • Weider Migratioun vun Ännerunge vun der Rust-fir-Linux Branche am Zesummenhang mat der Notzung vun der Rust Sprooch als zweet Sprooch fir Treiber a Kernel Moduler z'entwéckelen (Rust Support ass net als Standard aktiv, a féiert net zu der Inklusioun vu Rust ënnert de erfuerderlech Assembléeabhängegkeete fir de Kernel). Déi nei Versioun mécht den Iwwergank fir d'Rust 1.73 Verëffentlechung ze benotzen a bitt eng Rei vu Bindungen fir mat Workqueues ze schaffen.
    • Et ass méiglech de binfmt_misc Mechanismus ze benotzen fir Ënnerstëtzung fir nei ausführbar Dateiformate ze addéieren (zum Beispill fir kompiléiert Java oder Python Uwendungen auszeféieren) bannent getrennten onprivilegéierten Nummraim.
    • De cgroup Controller cpuset, deen Iech erlaabt d'Benotzung vun CPU Cores ze kontrolléieren wann Dir eng Aufgab ausféiert, bitt eng Divisioun a lokal a Fernpartitionéierung, déi ënnerscheeden ob d'Elteren cgroup déi richteg Root Sektioun ass oder net. Nei Astellungen "cpuset.cpus.exclusive" an "cpuset.cpus.excluisve.effective" goufen och zu cpuset fir exklusiv CPU verbindlech dobäi.
    • De BPF-Subsystem implementéiert Ënnerstëtzung fir Ausnahmen, déi als Noutausgang aus engem BPF-Programm veraarbecht ginn mat der Fäegkeet fir Stackframes sécher z'entspanen. Zousätzlech erlaben BPF Programmer d'Benotzung vu kptr Pointer a Verbindung mat der CPU.
    • Ënnerstëtzung fir Operatiounen mat futex gouf am io_uring Subsystem bäigefüügt, an nei Operatiounen goufen ëmgesat: IORING_OP_WAITID (asynchron Versioun vu waitid), SOCKET_URING_OP_GETSOCKOPT (getsockoptand Optioun), SOCKET_URING_OP_SETSOCKOPT (setsockopt_OPT_OPT_OPTIOAD stoppt d'Operatioun net doMTIRING)_ an REHOTIOAD datt d'Operatioun stoppt. et gëtt Daten oder ass net voll Puffer).
    • Dobäi Implementatioun vun liichtfäerteg ofgeschloss Single-verbonne FIFO Schlaangen datt e spinlock verlaangen nëmmen fir dequeueing an engem Prozess Kontext an dispense mat engem spinlock fir atomarer Ergänzunge vun der Schlaang an all Kontext.
    • Eng Réngbuffer "objpool" bäigefüügt mat enger skalierbarer Implementatioun vun enger High-Performance-Schlaang fir d'Allokatioun an d'Retour vun Objeten.
    • Den initialen Deel vun den Ännerungen gouf bäigefüügt fir déi nei futex2 API ëmzesetzen, déi besser Leeschtung op NUMA Systemer huet, ënnerstëtzt aner Gréissten wéi 32 Bits, a ka benotzt ginn amplaz vum multiplexéierte futex () System Uruff.
    • Fir ARM32 an S390x Architekturen ass Ënnerstëtzung fir den aktuellen Set (cpuv4) vu BPF Instruktioune bäigefüügt.
    • Fir d'RISC-V Architektur ass et méiglech de Shadow-Call Stack Check Modus ze benotzen verfügbar am Clang 17, entworf fir géint d'Iwwerschreiwe vun der Retouradress vun enger Funktioun am Fall vun engem Pufferiwwerfluss um Stack ze schützen. D'Essenz vum Schutz ass d'Retouradress an engem getrennten "Schatten" Stack ze späicheren nodeems Dir d'Kontroll op eng Funktioun transferéiert an dës Adress zréckkuckt ier Dir d'Funktioun erausgeet.
    • En neie Smart Memory Page Scanning Modus gouf zum Mechanismus bäigefüügt fir identesch Erënnerungssäiten ze fusionéieren (KSM: Kernel Samepage Merging), deen net erfollegräich gescannte Säiten verfollegt an d'Intensitéit vun hirem Neiscannen reduzéiert. Fir den neie Modus z'aktivéieren, ass d' /sys/kernel/mm/ksm/smart_scan-Astellung dobäigesat ginn.
    • Dobäigesat eng nei ioctl Kommando PAGEMAP_SCAN, déi, wann Dir mat userfaultfd benotzt (), erlaabt Iech d'Fakten vun Schreiwen op eng spezifesch Erënnerung Gamme ze bestëmmen. Déi nei Fonktioun, zum Beispill, kann am System benotzt ginn fir den Zoustand vun CRIU Prozesser ze retten an ze restauréieren oder am Spill Anti-Cheat Systemer.
    • Am Assemblée System, wann de Clang Compiler verfügbar ass, ass d'Versammlung vu Beispiller fir de perf Subsystem ze benotzen, geschriwwe als BPF Programmer, als Standard aktivéiert.
    • Déi al Videobuf Layer, déi benotzt gouf fir Framebuffers am Mediensubsystem ze managen an duerch eng nei Implementatioun vu Videobuf10 viru méi wéi 2 Joer ersat gouf, gouf geläscht.
  • Virtualiséierung a Sécherheet
    • D'Kapazitéit fir Daten a Blocken ze verschlësselen méi kleng wéi d'Blockgréisst am Dateiesystem gouf zum fscrypt Subsystem bäigefüügt. Dëst kann erfuerderlech sinn fir Hardware Verschlësselungsmechanismen z'erméiglechen déi nëmme kleng Blocks ënnerstëtzen (zum Beispill UFS Controller déi nëmmen eng 4096 Blockgréisst ënnerstëtzen kënne mat engem Dateiesystem mat enger 16K Blockgréisst benotzt ginn).
    • Den "iommufd" Subsystem, deen Iech erlaabt IOMMU (I/O Memory-Management Unit) Memory-Säittabellen duerch Dateideskriptoren aus dem Benotzerraum ze verwalten, huet Tracking vun Daten bäigefüügt, déi nach net aus dem Cache (dreckeg) fir DMA gespullt goufen Operatiounen, déi néideg ass fir d'Erënnerung mat ongewollten Donnéeën während der Prozessmigratioun ze bestëmmen.
    • Ënnerstëtzung fir d'Definitioun vun Zougangskontrollregele fir TCP Sockets gouf zum Landlock Mechanismus bäigefüügt, wat Iech erlaabt d'Interaktioun vun enger Grupp vu Prozesser mat dem externen Ëmfeld ze limitéieren. Zum Beispill kënnt Dir eng Regel erstellen déi nëmmen Zougang zum Netzhafen 443 erlaabt fir HTTPS Verbindungen z'etabléieren.
    • Den AppArmor-Subsystem huet d'Fäegkeet bäigefüügt fir den Zougang zum io_uring-Mechanismus ze kontrolléieren an de Benotzernummraim ze kreéieren, wat Iech erlaabt selektiv Zougang zu dëse Fäegkeeten nëmmen op bestëmmte Prozesser z'erméiglechen.
    • Virtuell Maschinn Attestation API bäigefüügt fir d'Integritéit vum virtuelle Maschinn Bootprozess z'iwwerpréiwen.
    • LoongArch Systemer ënnerstëtzen Virtualiséierung mam KVM Hypervisor.
    • Wann Dir de KVM Hypervisor op RISC-V Systemer benotzt, ass d'Ënnerstëtzung fir d'Smstateen Extensioun erschéngt, déi d'virtuell Maschinn blockéiert fir Zougang zu CPU Registere ze kréien, déi net explizit vum Hypervisor ënnerstëtzt ginn. Och bäigefüügt Ënnerstëtzung fir d'Benotzung vun der Zicond-Extensioun an Gaaschtsystemer, wat d'Benotzung vun e puer bedingte ganzen Operatiounen erlaabt.
    • An x86-baséiert Gaascht Systemer Lafen ënner KVM, bis zu 4096 virtuell CPUs sinn erlaabt.
  • Netzwierk Subsystem
    • Den NVMe-TCP (NVMe iwwer TCP) Treiber, deen Iech erlaabt Zougang zu NVMe Drive iwwer d'Netzwierk (NVM Express over Fabrics) mam TCP Protokoll ze benotzen, huet Ënnerstëtzung bäigefüügt fir den Datetransmissionskanal mat TLS ze verschlësselen (mat KTLS an engem Hannergrondprozess am Benotzerraum tlshd fir Verbindungsverhandlunge).
    • D'Performance vum fq (Fair Queuing) Packet Scheduler gouf optimiséiert, wat et méiglech gemaach huet den Duerchgang ëm 5% ënner schwéiere Lasten am tcp_rr (TCP Request/Response) Test ze erhéijen an ëm 13% mat engem onlimitéierten Flux vun UDP Päckchen.
    • TCP füügt eng optional Mikro-Sekonn-Präzisioun Zäitstempel (TCP TS) Fäegkeet (RFC 7323), déi méi genee latency Schätzung a méi fortgeschratt Staukontrollmoduler erlaabt. Fir et z'aktivéieren, kënnt Dir de Kommando benotzen "ip route add 10/8 ... features tcp_usec_ts".
    • Den TCP Stack huet Ënnerstëtzung fir d'TCP-AO Extensioun (TCP Authentication Option, RFC 5925) bäigefüügt, wat et méiglech mécht TCP Header mat MAC Coden (Message Authentication Code) z'iwwerpréiwen, mat méi modernen Algorithmen HMAC-SHA1 a CMAC-AES- 128 amplaz virdrun verfügbar TCP-MD5 Optioun baséiert op der Legacy MD5 Algorithmus.
    • Eng nei Zort vu virtuellen Netzwierkgeräter "netkit" gouf bäigefüügt, d'Datentransfer Logik an där mat engem BPF Programm gesat gëtt.
    • KSMBD, e Kernel-Niveau Implementatioun vun engem SMB Server, huet Ënnerstëtzung bäigefüügt fir Dateinumm ze léisen, déi Ersatzpaar vu zesummegesate Charaktere enthalen.
    • NFS huet d'Ëmsetzung vun Threads mat RPC Servicer verbessert. Zousätzlech Ënnerstëtzung fir Schreifdelegatioun (fir NFSv4.1+). NFSD huet Ënnerstëtzung fir den rpc_status Netlink Handler bäigefüügt. Verbesserte Ënnerstëtzung fir NFSv4.x Clienten wann se nei exportéieren op knfsd.
  • Ausrüstung
    • Initial Ënnerstëtzung fir GSP-RM Firmware gouf zum Nouveau Kernel Modul bäigefüügt, deen an der NVIDIA RTX 20+ GPU benotzt gëtt fir d'Initialiséierung an d'GPU Kontrolloperatiounen op d'Säit vun engem separaten GSP Mikrokontroller (GPU System Prozessor) ze bewegen. GSP-RM-Ënnerstëtzung erlaabt den Nouveau-Treiber duerch Firmware-Uriff ze schaffen, anstatt direkt Hardware-Interaktiounen ze programméieren, wat et vill méi einfach mécht Ënnerstëtzung fir nei NVIDIA GPUs ze addéieren andeems se pre-built Uriff fir Initialiséierung a Power Management benotzen.
    • Den AMDGPU Treiber ënnerstëtzt GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 an DML2. Verbesserte Ënnerstëtzung fir nahtlos Luede (kee Flickeren beim Wiessel vum Videomodus).
    • Den i915 Chauffer füügt Ënnerstëtzung fir Intel Meteor Lake Chips un a füügt eng initial Implementatioun vum Intel LunarLake (Xe 2).
    • Zousätzlech Ënnerstëtzung fir asymmetresch Iwwerdroungskanäle bäigefüügt fir d'USB4 v2 (120 / 40G) Spezifizéierung.
    • Zousätzlech Ënnerstëtzung fir ARM SoC: Qualcomm Snapdragon 720G (benotzt an Xiaomi Smartphones), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (benotzt a Router an NAS).
    • Zousätzlech Ënnerstëtzung fir de Fairphone 5 Smartphone an ARM Boards Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
    • Zousätzlech Ënnerstëtzung fir RISC-V Brieder Milk-V Pioneer a Milk-V Duo.
    • Zousätzlech Ënnerstëtzung fir Sound Interfaces vun HUAWEI Laptops mat AMD CPUs geliwwert. Zousätzlech Ënnerstëtzung fir zousätzlech Spriecher installéiert op Dell Oasis 13/14/16 Laptops. Zousätzlech Ënnerstëtzung fir agebaute Spriecher ASUS K6500ZC. Zousätzlech Ënnerstëtzung fir den Mute Indikator op HP 255 G8 a G10 Laptops. Zousätzlech Ënnerstëtzung fir acp6.3 Audio Treiber. Ënnerstëtzung bäigefüügt fir Focusrite Clarett + 2Pre a 4Pre professionnelle Opname Interfaces.

Zur selwechter Zäit huet d'Latäinamerikanesch Free Software Foundation eng Versioun vum komplett gratis Kernel 6.7 geformt - Linux-libre 6.7-gnu, geläscht vun Elementer vun der Firmware a Chauffeuren mat net-gratis Komponenten oder Code Sektiounen, den Ëmfang vun deem limitéiert ass vum Hiersteller. An der Verëffentlechung 6.7 ass de Blob Reinigungscode a verschiddene Chauffeuren an Ënnersystemer aktualiséiert ginn, zum Beispill an den amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs an btqca Treiber. De Code fir d'Botzen vun de Localtalk an rtl8192u Treiber gouf geläscht wéinst hirer Ausgrenzung vum Kernel. Onnéideg Komponente geläscht fir d'Xhci-pci, rtl8xxxu an rtw8822b Treiber ze botzen, virdru per Feeler bäigefüügt. Gebotzt Blob Nimm an dts Dateien fir d'Aarch64 Architektur. Geläscht Blobs an den neie Chauffeuren mt7925, tps6598x, aw87390 an aw88399.

Source: opennet.ru

Setzt e Commentaire