Linux kernel release 6.1

Nei twa moannen fan ûntwikkeling presintearre Linus Torvalds de frijlitting fan 'e Linux kernel 6.1. Under de meast opfallende feroarings: stipe foar de ûntwikkeling fan bestjoerders en modules yn 'e Rust taal, modernisearring fan it meganisme foar it bepalen fan brûkte ûnthâld siden, in spesjale ûnthâld manager foar BPF programma, in systeem foar diagnoaze ûnthâld problemen KMSAN, de KCFI (Kernelk Control -Flow Integrity) beskermingsmeganisme, de ynfiering fan 'e Maple-struktuerbeam.

De nije ferzje befettet 15115 fixes fan 2139 ûntwikkelders, de patchgrutte is 51 MB, wat sawat 2 kear lytser is as de grutte fan patches fan kernels 6.0 en 5.19. De wizigingen beynfloede 13165 bestannen, 716247 rigels koade waarden tafoege, en 304560 rigels waarden wiske. Ungefear 45% fan alle wizigingen yntrodusearre yn 6.1 binne relatearre oan apparaatbestjoerders, sawat 14% fan feroaringen binne relatearre oan it bywurkjen fan koade spesifyk foar hardware-arsjitektuer, 14% binne relatearre oan de netwurkstapel, 3% binne relatearre oan triemsystemen, en 3% binne relatearre oan ynterne kernel-subsystemen.

Wichtichste ynnovaasjes yn kernel 6.1:

  • Unthâld en systeem tsjinsten
    • De mooglikheid tafoege om Rust te brûken as twadde taal foar it ûntwikkeljen fan bestjoerders en kernelmodules. De wichtichste reden foar it stypjen fan Rust is om it makliker te meitsjen om feilige en heechweardige apparaatbestjoerders te skriuwen troch it ferminderjen fan de kâns op it meitsjen fan flaters by it wurkjen mei ûnthâld. Rust-stipe is standert útskeakele en resultearret net yn Rust wurdt opnommen as in fereaske kernel build-ôfhinklikens. De kernel hat oant no ta in minimale, stripped-down ferzje fan 'e patches oannaam, dy't is fermindere fan 40 nei 13 tûzen rigels koade en leveret allinich it nedige minimum, genôch om in ienfâldige kernelmodule te bouwen skreaun yn 'e Rust-taal. Yn 'e takomst is it plan om de besteande funksjonaliteit stadichoan te fergrutsjen, troch oare wizigingen oer te bringen fan' e Rust-for-Linux branch. Parallel wurde projekten ûntwikkele om de foarstelde ynfrastruktuer te brûken om bestjoerders te ûntwikkeljen foar NVMe-skiven, it 9p-netwurkprotokol en de Apple M1 GPU yn 'e Rust-taal.
    • Foar systemen basearre op AArch64, RISC-V en LoongArch-arsjitektueren mei EFI, is de mooglikheid om komprimearre kernelôfbyldings direkt te laden. Tafoegde handlers foar it laden, útfieren en lossen fan kernelôfbyldings, direkt neamd fan EFI zboot. Handlers foar it ynstallearjen en wiskjen fan protokollen út 'e EFI-protokoldatabase binne ek tafoege. Earder waard it útpakke útfierd troch in aparte bootloader, mar no kin dit dien wurde troch in handler yn 'e kernel sels - it kernelôfbylding wurdt foarme as in EFI-applikaasje.
    • De gearstalling omfettet in part fan de patches mei de ymplemintaasje fan in multi-level ûnthâld management model, wêrmei jo te skieden ûnthâld banken mei ferskillende prestaasjes skaaimerken. Bygelyks, de meast brûkte siden meie wurde opslein yn it fluchste ûnthâld, wylst de meast selden brûkte siden meie wurde opslein yn relatyf traach ûnthâld. Kernel 6.1 yntrodusearret in meganisme foar it bepalen wêr't swier brûkte siden lizze yn stadich ûnthâld, sadat se kinne wurde promovearre ta fluch ûnthâld, en yntrodusearret ek in algemien konsept fan ûnthâld tiers en harren relative prestaasjes.
    • It omfettet it MGLRU (Multi-Generational LRU) meganisme, dat de âlde LRU (Least Recently Used) ymplemintaasje ferfangt basearre op twa wachtrijen mei in struktuer yn meardere etappe dy't better bepaalt hokker ûnthâldsiden eins yn gebrûk binne en hokker kinne wurde skood nei de ruilferdieling.
    • Stipe tafoege foar de gegevensstruktuer "esdoornbeam" foarsteld troch Oracle-yngenieurs, dy't gepositioneerd is as in effektiver ferfanging foar de struktuer "read-swarte beam". Maple tree is in fariant fan B-tree dy't berik-yndeksearring stipet en is ûntworpen om effisjint gebrûk te meitsjen fan de cache fan moderne processors. Guon ûnthâld behear subsystemen binne al oerdroegen oan maple tree, dat hat hie in posityf effekt op harren prestaasjes. Yn 'e takomst kin maplebeam wurde brûkt om berikbeskoatteljen te ymplementearjen.
    • De mooglikheid om "destruktive" BPF-programma's te meitsjen dy't spesjaal ûntworpen binne om in needôfsluting te begjinnen fia de crash_kexec ()-oprop is tafoege oan it BPF-subsysteem. Sokke BPF-programma's kinne nedich wêze foar debuggen om de skepping fan in crashdump op in bepaald punt yn 'e tiid te begjinnen. Om tagong te krijen ta destruktive operaasjes by it laden fan in BPF-programma, moatte jo de flagge BPF_F_DESTRUCTIVE oantsjutte, sysctl kernel.destructive_bpf_enabled aktivearje en CAP_SYS_BOOT-rjochten hawwe.
    • Foar BPF-programma's is it mooglik om cgroup-eleminten op te nimmen, lykas boarnen (bestannen, vma, prosessen, ensfh.) fan in spesifike thread of taak op te nimmen. In nij kaarttype is ymplementearre om brûkersringbuffers te meitsjen.
    • In spesjale oprop tafoege foar ûnthâld tawizing yn BPF programma (ûnthâld allocator), dat soarget foar feiliger ûnthâld tawizing yn de BPF kontekst as de standert kmalloc ().
    • It earste diel fan 'e wizigingen is yntegreare, wêrtroch't de mooglikheid is om sjauffeurs te meitsjen foar ynfierapparaten mei in HID (Human Interface Device) ynterface, ymplementearre yn' e foarm fan BPF-programma's.
    • De kernel hat de koade folslein fuortsmiten om it útfierbere triemformaat a.out te stypjen, dat waard ôfkard yn release 5.1 en is útskeakele foar grutte arsjitektuer sûnt ferzjes 5.18 en 5.19. It a.out-formaat is al lang ôfkard op Linux-systemen, en generaasje fan a.out-bestannen wurdt net stipe troch moderne ark yn standert Linux-konfiguraasjes. De loader foar a.out-bestannen kin folslein yn brûkersromte ymplementearre wurde.
    • Foar systemen basearre op de LoongArch-ynstruksjeset-arsjitektuer brûkt yn 'e Loongson 3 5000-processors en it ymplementearjen fan de nije RISC ISA, fergelykber mei MIPS en RISC-V, wurdt stipe foar prestaasjesmjittingseveneminten (perf-eveneminten), kexec, kdump en BPF JIT-kompilaasje ymplementearre .
    • De io_uring asynchronous I / O ynterface biedt in nije modus, IORING_SETUP_DEFER_TASKRUN, wêrmei ring buffer-relatearre wurk tydlik útsteld oant in applikaasje fersyk wurdt dien, dat kin brûkt wurde om batch wurk en mije latency problemen fanwege preemption applikaasjes by de ferkearde tiid.
    • Prosessen yn brûkersromte krije de mooglikheid om konverzje fan in berik fan normale ûnthâldsiden te begjinnen yn in set fan grutte ûnthâldsiden (Transparent Huge-Pages).
    • Tafoege ymplemintaasje fan it apparaat / dev/userfaultfd, dat jout tagong ta de funksjonaliteit fan de userfaultfd () systeem oprop mei help fan tagongsrjochten yn de FS. De funksjonaliteit userfaultfd lit jo hannelers meitsje foar tagong ta net-allokearre ûnthâldsiden (sidefouten) yn brûkersromte.
    • De easken foar de ferzje fan it GNU Make-hulpprogramma binne ferhege - op syn minst ferzje 3.82 is no ferplicht om de kernel te bouwen.
  • Skiif subsysteem, I / O en triem systemen
    • Signifikante prestaasjesoptimalisaasjes binne makke foar it Btrfs-bestânsysteem, ûnder oaren, de prestaasjes fan 'e FIEMAP ioctl-oprop is ferhege troch oarders fan grutte. Stipe tafoege foar asynchrone buffered skriuwen foar applikaasjes mei io_uring. Stipe tafoege foar bestannen beskerme mei fs-verity oan 'e "ferstjoere" operaasje.
    • It ext4-bestânsysteem hat prestaasjesoptimalisaasjes tafoege yn ferbân mei tydskriftûnderhâld en allinich-lêzen operaasje.
    • It EROFS (Enhanced Read-Only File System) bestânsysteem, ûntworpen foar gebrûk op partysjes dy't tagonklik binne yn allinich-lêsmodus, ymplementearret de mooglikheid om gegevens te dielen dy't duplikearre binne yn ferskate bestânsystemen.
    • De systeemoprop statx () is tafoege om ynformaasje te werjaan oer oft direkte I/O kin wurde tapast op in bestân.
    • Stipe foar it meitsjen fan tydlike bestannen mei de O_TMPFILE-flagge is tafoege oan it subsysteem FUSE (Filesystems in User Space).
  • Virtualisaasje en feiligens
    • De ymplemintaasje fan it CFI (Control Flow Integrity) beskermingsmeganisme is ferfongen, it tafoegjen fan kontrôles foar elke yndirekte oprop fan in funksje om guon foarmen fan ûndefinieare gedrach te ûntdekken dy't mooglik liede kinne ta in ynbreuk op 'e normale útfieringsopdracht (kontrôlestream) as in resultaat fan it brûken fan eksploaten dy't oanwizers feroarje nei funksjes opslein yn it ûnthâld. De standert ymplemintaasje fan CFI út it LLVM projekt is ferfongen troch in opsje ek basearre op it brûken fan Clang, mar spesjaal oanpast te beskermjen low-level subsystemen en bestjoeringssysteem kernels. Yn LLVM sil in nije ymplemintaasje oanbean wurde yn 'e Clang 16-release en sil ynskeakele wurde mei de "-fsanitize=kcfi" opsje. It wichtichste ferskil mei de nije ymplemintaasje is dat it net bûn is oan link-time optimizations (LTO) en net resultearret yn funksje pointers wurde ferfongen troch keppelings yn de sprong tabel.
    • Foar LSM-modules (Linux Security Module) is it mooglik om handlers te meitsjen dy't operaasjes ûnderskeppe om nammeromten te meitsjen.
    • Tools wurde levere foar in ferifiearje PKCS # 7 digitale hantekeningen yn BPF programma.
    • De mooglikheid om te iepenjen yn net-blokkearjende modus (O_NONBLOCK), dy't ûnbedoeld waard fuortsmiten yn kernel 5.6, is weromjûn nei /dev/random.
    • Op systemen mei x86-arsjitektuer is in warskôging tafoege yn gefal fan mapping fan ûnthâldsiden troch kernel-subsystemen dy't tagelyk útfiering en skriuwen tastean. Yn de takomst wurdt sjoen nei de mooglikheid om sa'n ûnthâldkaart folslein te ferbieden.
    • KMSAN (Kernel Memory Sanitizer)-debuggen-meganisme tafoege om net-inisjalisearre ûnthâldgebrûk yn 'e kearn te detektearjen, lykas net-initialisearre ûnthâldlekkages tusken brûkersromte en apparaten.
    • Ferbetteringen binne makke oan 'e krypto-feilige CRNG pseudo-willekeurige nûmergenerator brûkt yn' e willekeurige oprop. De wizigingen waarden taret troch Jason A. Donenfeld, skriuwer fan VPN WireGuard, en binne rjochte op it ferbetterjen fan de feiligens fan pseudo-willekeurige integer-ekstraksje.
  • Netwurk subsysteem
    • De TCP-stapel jout de mooglikheid (standert útskeakele) om socket-hash-tabellen apart te brûken foar elke nammeromte, wat de prestaasjes ferbetterje op systemen mei in grut oantal nammeromten.
    • Koade fuortsmiten om it legacy DECnet-protokol te stypjen. User romte API stubs wurde oerbleaun yn plak om ta te stean dat applikaasjes dy't brûke DECnet wurde kompilearre, mar dizze applikaasjes sille net by steat wêze om te ferbinen mei it netwurk.
    • It netlinkprotokol is dokumintearre.
  • Wetter - Agrarwetter
    • De amdgpu-bestjoerder hat stipe tafoege foar DSC (Display Stream Compression) trochstjoere foar ferliesleaze gegevenskompresje by it útwikseljen fan ynformaasje mei skermen dy't tige hege resolúsjes stypje. Wurk bliuwt stipe foar de AMD RDNA3 (RX 7000) en CDNA (Instinct) platfoarms. Stipe tafoege foar DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x en GMC 11.x IP-komponinten. De amdkfd-bestjoerder (foar diskrete AMD GPU's lykas Polaris) leveret stipe foar GFX 11.0.3.
    • De i915 (Intel) stjoerprogramma omfettet stipe foar Meteor Lake GPU. Meteor Lake en nijere GPU's stypje DP 2.0 (DisplayPort) ynterface. Identifiearders tafoege foar fideokaarten basearre op 'e mikroarsjitektuer fan Alder Lake S.
    • Stipe tafoege foar audio-subsystemen ymplementearre yn Apple Silicon, Intel SkyLake en Intel KabyLake processors. De CS35L41 HDA audiobestjoerder stipet sliepmodus. ASoC (ALSA System on Chip)-stipe tafoege foar yntegreare audiochips Apple Silicon, AMD Rembrant DSP's, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake en Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSP's, Qualcomm SC8280XP, SM SM8250 en Texas Instruments SRC8450
    • Stipe tafoege foar LCD-panielen Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-EA1.W 116, INX N01.6BCA-EA116 , INX N21BCN-EA116, Multi-Inno Technology MI2FT-116.
    • Stipe tafoege foar AHCI SATA-controllers brûkt yn 'e Baikal-T1 SoC.
    • Stipe tafoege foar Bluetooth-chips MediaTek MT7921, Intel Magnetor (CNVi, Integrated Connectivity), Realtek RTL8852C, RTW8852AE en RTL8761BUV (Edimax BT-8500).
    • De ath11k-bestjoerder foar Qualcomm draadloze modules hat stipe tafoege foar spektrale skennen yn it 160 MHz-berik, ymplementearre multi-threaded NAPI, en ferbettere stipe foar Qualcomm WCN6750 Wi-Fi-chips.
    • Bestjoerders tafoege foar PinePhone-toetseboerd, 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 remotes, tablets XP-PEN Deco Pro S en Intuos Pro Small (PTH-460).
    • Bestjoerder tafoege foar Aspeed HACE (Hash and Crypto Engine) kryptografyske accelerators.
    • Stipe tafoege foar yntegreare Thunderbolt / USB4 Intel Meteor Lake-controllers.
    • Stipe tafoege foar Sony Xperia 1 IV, Samsung Galaxy E5, E7 en Grand Max, Pine64 Pinephone Pro smartphones.
    • Tafoege stipe foar ARM SoC en boards: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 en RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, 8062, IPQ8065-v8, 8195 BL i.MX4MM OSM-S, MT4 (Acer Tomato), Radxa ROCK 1C+, NanoPi RXNUMXS Enterprise Edition, JetHome JetHub DXNUMXp. Bywurke bestjoerders foar SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom en NXP.

Tagelyk foarme de Latynsk-Amerikaanske Free Software Foundation in ferzje fan 'e folslein fergese kernel 6.1 - Linux-libre 6.1-gnu, wiske fan eleminten fan firmware en drivers dy't net-frije komponinten as seksjes fan koade befetsje, wêrfan it berik is beheind troch de fabrikant. De nije release skjinmakket de nije rtw8852b-bestjoerder en DTS-bestannen foar ferskate Qualcomm en MediaTek SoC's mei processors basearre op de AArch64-arsjitektuer. Updated blob skjinmeitsjen koade yn bestjoerders en subsystemen amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. Skjinmeitsjen fan ferâldere bestjoerders tm6000 TV cards, cpia2 v4l, sp8870, av7110 is korrizjearre.

Boarne: opennet.ru

Add a comment