Ukukhishwa kwe-kernel ye-Linux 6.1

Ngemuva kwezinyanga ezimbili zokuthuthuka, uLinus Torvalds wethule ukukhululwa kwe-Linux kernel 6.1. Phakathi kwezinguquko eziphawuleka kakhulu: ukusekelwa kokuthuthukiswa kwabashayeli namamojula ngolimi lwe-Rust, ukwenziwa kwesimanje komshini wokunquma amakhasi enkumbulo asetshenzisiwe, umphathi okhethekile wenkumbulo wezinhlelo ze-BPF, uhlelo lokuxilonga izinkinga zenkumbulo KMSAN, i-KCFI (Kernelk Control). -Flow Integrity) indlela yokuvikela, ukwethulwa kwesihlahla sesakhiwo seMaple.

Inguqulo entsha ihlanganisa ukulungiswa kwe-15115 kusuka kubathuthukisi be-2139, usayizi we-patch ungu-51 MB, cishe izikhathi ezi-2 ezincane kunosayizi wama-patches avela ku-kernel 6.0 no-5.19. Izinguquko zithinte amafayela angu-13165, imigqa yekhodi engu-716247 yengezwa, futhi imigqa engu-304560 yasuswa. Cishe u-45% wazo zonke izinguquko ezethulwe ku-6.1 zihlobene nezishayeli zedivayisi, cishe u-14% wezinguquko zihlobene nokubuyekeza ikhodi eqondene nezakhiwo zehadiwe, u-14% uhlobene nesitaki senethiwekhi, u-3% uhlobene nezinhlelo zamafayela, futhi u-3% zihlobene nesistimu ye-kernel yangaphakathi.

Ukuqamba okusha okubalulekile ku-kernel 6.1:

  • Imemori kanye nezinsizakalo zesistimu
    • Kwengezwe ikhono lokusebenzisa i-Rust njengolimi lwesibili lokuthuthukisa abashayeli namamojula we-kernel. Isizathu esiyinhloko sokusekela i-Rust ukwenza kube lula ukubhala izishayeli zedivayisi eziphephile nezisezingeni eliphezulu ngokunciphisa amathuba okwenza amaphutha lapho usebenza ngenkumbulo. Ukusekelwa kokugqwala kukhutshaziwe ngokuzenzakalela futhi akuholeli ekufakweni kwe-Rust njengokuncika kokwakhiwa kwe-kernel edingekayo. I-kernel kuze kube manje yamukele inguqulo encane, ehlutshiwe yama-patches, eyehliswa kusukela kumigqa yekhodi eyizinkulungwane ezingu-40 kuya kweziyi-13 futhi inikeza kuphela ubuncane obudingekayo, obanele ukwakha imojuli ye-kernel elula ebhalwe ngolimi lwe-Rust. Esikhathini esizayo, kuhlelwe ukwandisa kancane kancane ukusebenza okukhona, ukudlulisa ezinye izinguquko kusuka egatsheni le-Rust-for-Linux. Ngokuhambisanayo, amaphrojekthi ayathuthukiswa ukuze asebenzise ingqalasizinda ehlongozwayo ukuthuthukisa abashayeli bamadrayivu e-NVMe, iphrothokholi yenethiwekhi ye-9p kanye ne-Apple M1 GPU ngolimi lwe-Rust.
    • Kuzinhlelo ezisuselwe ku-AArch64, RISC-V kanye nezakhiwo ze-LoongArch ezine-EFI, ikhono lokulayisha ngokuqondile izithombe ze-kernel ezicindezelwe seliqalisiwe. Izibambi ezingeziwe zokulayisha, ukugijima nokukhipha izithombe ze-kernel, ezibizwa ngokuqondile ku-EFI zboot. Izibambi zokufaka nokususa izivumelwano kusizindalwazi sephrothokholi ye-EFI nazo zengeziwe. Ngaphambilini, ukukhishwa kwakwenziwa yi-bootloader ehlukile, kodwa manje lokhu kungenziwa yisiphathi ku-kernel ngokwayo - isithombe se-kernel sakhiwe njengohlelo lokusebenza lwe-EFI.
    • Ukwakheka kufaka phakathi ingxenye yama-patches ngokusetshenziswa kwemodeli yokuphatha inkumbulo yamazinga amaningi, okuvumela ukuthi uhlukanise amabhange ememori anezici ezihlukile zokusebenza. Isibonelo, amakhasi asetshenziswa kakhulu angase agcinwe kumemori eshesha kakhulu, kuyilapho amakhasi angavamile ukusetshenziswa angase agcinwe kumemori ehamba kancane. I-Kernel 6.1 yethula indlela yokunquma ukuthi amakhasi asetshenziswe kakhulu atholakala kuphi kumemori engasheshi ukuze akhushulelwe kumemori esheshayo, futhi yethula umqondo ojwayelekile wezigaba zememori nokusebenza kwawo okuhlobene.
    • Ihlanganisa indlela ye-MGLRU (Multi-Generational LRU), ethatha indawo yokusetshenziswa kwe-LRU (Okungasetshenziswa Kancane Kamuva) okusekelwe kolayini ababili abanesakhiwo sezigaba eziningi esinquma kangcono ukuthi yimaphi amakhasi enkumbulo asetshenziswayo ngempela futhi angaphushelelwa ngaphandle. i-swap partition.
    • Usekelo olungeziwe lwesakhiwo sedatha "sesihlahla se-maple" esiphakanyiswe onjiniyela be-Oracle, esibekwe njengokuthatha indawo esebenza ngempumelelo kwesakhiwo "sesihlahla esimnyama-bomvu". Isihlahla se-maple siwuhlobo lwe-B-tree esekela ukukhonjwa kwebanga futhi siklanyelwe ukusebenzisa kahle inqolobane yamaphrosesa esimanje. Ezinye izinhlelo ezingaphansi zokuphatha inkumbulo sezivele zidluliselwe esihlahleni se-maple, esibe nomthelela omuhle ekusebenzeni kwazo. Ngokuzayo, isihlahla se-maple singasetshenziselwa ukusebenzisa ukukhiya ububanzi.
    • Ikhono lokudala izinhlelo ze-BPF β€œezonakalisayo” eziklanyelwe ngokukhethekile ukuqalisa ukuvalwa kwezimo eziphuthumayo ngekholi ye-crash_kexec() yengezwe kusistimu engaphansi ye-BPF. Izinhlelo ezinjalo ze-BPF zingadingeka ngezinjongo zokususa iphutha ukuze kuqalwe ukudalwa kwendawo yokulahla imfucumfucu ngesikhathi esithile. Ukuze ufinyelele imisebenzi elimazayo lapho ulayisha uhlelo lwe-BPF, kufanele ucacise ifulegi le-BPF_F_DESTRUCTIVE, wenze kusebenze i-sysctl kernel.destructive_bpf_enabled, futhi ube namalungelo e-CAP_SYS_BOOT.
    • Ezinhlelweni ze-BPF, kungenzeka ukubala izakhi zeqembu, kanye nokubala izinsiza (amafayela, i-vma, izinqubo, njll.) zochungechunge oluthile noma umsebenzi. Kusetshenziswe uhlobo olusha lwemephu ukuze kwakhiwe amabhafa amaringi.
    • Kwengezwe ucingo olukhethekile lokwabiwa kwenkumbulo ezinhlelweni ze-BPF (i-memory allocator), ehlinzeka ngesabelo senkumbulo esiphephile kumongo we-BPF kune-kmalloc evamile ().
    • Ingxenye yokuqala yezinguquko ihlanganiswe, ihlinzeka ikhono lokudala abashayeli bemishini yokufaka ene-HID (Human Interface Device) interface, esetshenziswe ngendlela yezinhlelo ze-BPF.
    • I-kernel iyisuse ngokuphelele ikhodi ukuze isekele ifomethi yefayela elisebenzisekayo elithi a.out, eye yahoxiswa ekukhishweni okungu-5.1 futhi iye yakhutshazwa ezakhiwo ezinkulu kusukela kuzinguqulo 5.18 kanye no-5.19. Ifomethi ye-a.out kade yahoxiswa ezinhlelweni ze-Linux, futhi ukukhiqizwa kwamafayela a.out akusekelwe ngamathuluzi esimanje ekucushweni okuzenzakalelayo kwe-Linux. Isilayishi samafayela we-a.out singasetshenziswa ngokuphelele esikhaleni somsebenzisi.
    • Kuzinhlelo ezisuselwe ekwakhiweni kwesethi yemiyalo ye-LoongArch esetshenziswa ku-Loongson 3 5000 processors nokusebenzisa i-RISC ISA entsha, efana ne-MIPS ne-RISC-V, usekelo lwemicimbi yokukala ukusebenza (imicimbi ye-perf), i-kexec, i-kdump ne-BPF JIT iyasetshenziswa. .
    • I-interface ye-io_uring asynchronous I/O inikeza imodi entsha, IORING_SETUP_DEFER_TASKRUN, evumela ukuthi umsebenzi ohlobene nendandatho yendandatho uhlehliswe okwesikhashana kuze kube kwenziwa isicelo, esingasetshenziswa ukuhlanganisa umsebenzi nokugwema izinkinga zokubambezeleka ngenxa yokukhululwa. isikhathi esingalungile.
    • Izinqubo esikhaleni somsebenzisi zinikezwa ikhono lokuqalisa ukuguqulwa kohlu lwamakhasi enkumbulo evamile abe yisethi yamakhasi enkumbulo amakhulu (Amakhasi Amakhulu Asobala).
    • Ukuqaliswa okungeziwe kwedivayisi ye-/dev/userfaultfd, evumela ukufinyelela ekusebenzeni kwekholi yesistimu userfaultfd() kusetshenziswa amalungelo okufinyelela ku-FS. Umsebenzi we-userfaultfd ikuvumela ukuthi udale izibambi zokufinyelela amakhasi ememori angabelwe (amaphutha ekhasi) esikhaleni somsebenzisi.
    • Izidingo zenguqulo ye-GNU Make utility zinyusiwe - okungenani inguqulo engu-3.82 iyadingeka ukuze kwakhiwe i-kernel.
  • I-Disk Subsystem, I/O kanye ne-File Systems
    • Ukuthuthukiswa kokusebenza okubalulekile kwenziwe kusistimu yefayela ye-Btrfs; phakathi kwezinye izinto, ukusebenza kwekholi ye-FIEMAP ioctl kunyuswe ngama-oda wobukhulu. Ukwesekwa okwengeziwe kokubhala okugcinwe ku-asynchronous kwezinhlelo zokusebenza kusetshenziswa i-io_uring. Ukwesekwa okwengeziwe kwamafayela avikelwe nge-fs-verity emsebenzini othi "thumela".
    • Isistimu yefayela ye-ext4 yengeze ukulungiselelwa kokusebenza okuhlobene nokugcinwa kwejenali kanye nokusebenza kokufunda kuphela.
    • Isistimu yefayela ye-EROFS (Enhanced Read-Only File System), eklanyelwe ukusetshenziswa ezingxenyeni ezifinyeleleka ngemodi yokufunda kuphela, isebenzisa ikhono lokwabelana ngedatha ephindeke kabili ezinhlelweni zamafayela ahlukene.
    • Ikholi yesistimu ye-statx() yengeziwe ukuze kuboniswe ulwazi mayelana nokuthi i-I/O eqondile ingasetshenziswa yini kufayela.
    • Usekelo lokudala amafayela esikhashana ngefulegi le-O_TMPFILE lwengezwe kusistimu engaphansi ye-FUSE (Filesystems in User Space).
  • I-Virtualization kanye Nokuphepha
    • Ukuqaliswa kokusetshenziswa kwendlela yokuvikela ye-CFI (Control Flow Integrity) kushintshiwe, kwengeza amasheke ngaphambi kwekholi ngayinye engaqondile yomsebenzi ukuze kutholwe ezinye izinhlobo zokuziphatha okungachazwanga ezingase ziholele ekwephuleni umyalo wokusebenzisa ojwayelekile (ukulawula ukugeleza) umphumela wokusetshenziswa kwemisebenzi eshintsha izikhombi emisebenzini egcinwe kumemori . Ukuqaliswa okujwayelekile kwe-CFI evela kuphrojekthi ye-LLVM kuthathelwe indawo inketho futhi esekelwe ekusetshenzisweni kwe-Clang, kodwa eguqulelwe ngokukhethekile ukuze kuvikelwe amasistimu aphansi asezingeni eliphansi kanye nezikhwebu zesistimu yokusebenza. Ku-LLVM, ukusetshenziswa okusha kuzonikezwa ekukhishweni kwe-Clang 16 futhi kuzonikwa amandla ngenketho ethi "-fsanitize=kcfi". Umehluko oyinhloko ngokuqaliswa okusha ukuthi akuboshelwe ekulungiselelweni kwesikhathi sokuxhumanisa (i-LTO) futhi akubangeli ukuthi izikhombi zokusebenza zithathelwe indawo izixhumanisi kuthebula lokweqa.
    • Kumamojula we-LSM (i-Linux Security Module), kuyenzeka ukuthi udale izibambi ezivimba ukusebenza ukuze udale izikhala zamagama.
    • Amathuluzi anikeziwe okuqinisekisa amasiginesha edijithali ye-PKCS#7 ezinhlelweni ze-BPF.
    • Amandla okuvula kumodi engavimbeli (O_NONBLOCK), ekhishwe ngokungaqondile ku-kernel 5.6, ibuyiselwe ku-/dev/random.
    • Kuzinhlelo ezinezakhiwo ze-x86, isexwayiso sengeziwe uma kwenzeka kwenziwa imephu yamakhasi enkumbulo ngamasistimu angaphansi e-kernel avumela kanyekanye ukwenziwa nokubhala. Ngokuzayo, ithuba lokwenqabela ngokuphelele imephu yememori enjalo kuyacatshangelwa.
    • Kungezwe indlela ye-KMSAN (Kernel Memory Sanitizer) yokulungisa iphutha ukuze kutholwe ukusetshenziswa kwenkumbulo okungakaqalwa ku-kernel, kanye nokuvuza kwenkumbulo okungakaqalwa phakathi kwesikhala somsebenzisi namadivayisi.
    • Ukuthuthukiswa kwenziwe ku-crypto-secure CRNG pseudo-random generator inombolo esetshenziswe ocingweni lwe-gerandom. Izinguquko zilungiswe ngu-Jason A. Donenfeld, umbhali we-VPN WireGuard, futhi kuhloswe ngazo ukuthuthukisa ukuvikeleka kokukhipha inombolo ephelele okungahleliwe.
  • Isistimu engaphansi yenethiwekhi
    • Isitaki se-TCP sinikeza ikhono (elikhutshazwe ngokuzenzakalelayo) lokusebenzisa amathebula e-hashi esokhethi ngokuhlukene endaweni yamagama ngayinye, okuthuthukisa ukusebenza kumasistimu anenani elikhulu lezikhala zamagama.
    • Kukhishwe ikhodi ukuze kusekelwe iphrothokholi ye-DECnet yefa. Izicucu ze-API yesikhala somsebenzisi zishiywa endaweni ukuze kuvunyelwe izinhlelo zokusebenza ezisebenzisa i-DECnet ukuthi zihlanganiswe, kodwa lezi zinhlelo zokusebenza ngeke zikwazi ukuxhuma kunethiwekhi.
    • Iphrothokholi ye-netlink ibhaliwe.
  • Izinsiza
    • Umshayeli we-amdgpu wengeze usekelo lokudlulisela phambili i-DSC (Display Stream Compression) yokucindezelwa kwedatha okungalahleki lapho kushintshwa ulwazi ngezikrini ezisekela izinqumo eziphakeme kakhulu. Umsebenzi uyaqhubeka nokuhlinzeka ngosekelo lwezingxenyekazi ze-AMD RDNA3 (RX 7000) kanye ne-CDNA (Instinct). Usekelo olungeziwe lwe-DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x kanye ne-GMC 11.x izingxenye ze-IP. Umshayeli we-amdkfd (wama-GPU e-AMD ahlukene njenge-Polaris) uhlinzeka ngosekelo lwe-GFX 11.0.3.
    • Umshayeli we-i915 (Intel) uhlanganisa ukusekelwa kwe-Meteor Lake GPU. I-Meteor Lake nama-GPU amasha asekela isixhumi esibonakalayo se-DP 2.0 (DisplayPort). Izihlonzi ezingeziwe zamakhadi evidiyo asuselwe ku-Alder Lake S microarchitecture.
    • Ukwesekwa okwengeziwe kwezinhlelo ezingaphansi zomsindo ezisetshenziswe ku-Apple Silicon, Intel SkyLake kanye ne-Intel KabyLake processors. Umshayeli womsindo we-CS35L41 HDA usekela imodi yokulala. Kwengezwe ukusekelwa kwe-ASoC (ALSA System on Chip) yama-audio chips Apple Silicon, AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake neKaby Lake, Mediatek MT8186, NXP i.MX8ULP DSPs, Qualcomm SC8280X8250, Qualcomm SC8450X4392, I-SMXNUMX kanye ne-Texas Instruments SRCXNUMX
    • Ukwengezwa okungeziwe kwamaphaneli e-LCD Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120K1ACO-ACO-ACO-ACOA-AUO-116, AUO B01.6UAN116. 21WH M-N116, INX N2BCA- I-EA116 , INX N1BCN-EA0800, Multi-Inno Technology MI9FT-XNUMX.
    • Ukwesekwa okwengeziwe kwezilawuli ze-AHCI SATA ezisetshenziswa ku-Baikal-T1 SoC.
    • Ukwesekwa okwengeziwe kwama-chips e-Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, Ukuxhumana Okuhlanganisiwe), Realtek RTL8852C, RTW8852AE kanye ne-RTL8761BUV (Edimax BT-8500).
    • Umshayeli we-ath11k wamamojula angenantambo e-Qualcomm wengeze ukusekelwa kokuskena okubonakalayo ebangeni elingu-160 MHz, wasebenzisa i-NAPI enemicu eminingi, nokusekelwa okuthuthukisiwe kwama-chips e-Qualcomm WCN6750 Wi-Fi.
    • Abashayeli abangeziwe bekhibhodi ye-PinePhone, i-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, tablet XP-PEN Deco Pro S kanye ne-Intuos Pro Small (PTH-460).
    • Kwengezwe umshayeli we-Aspeed HACE (Hash ne-Crypto Engine) ama-cryptographic accelerators.
    • Ukwesekwa okwengeziwe kwezilawuli ezihlanganisiwe ze-Thunderbolt/USB4 Intel Meteor Lake.
    • Usekelo olungeziwe lwe-Sony Xperia 1 IV, i-Samsung Galaxy E5, i-E7 ne-Grand Max, ama-smartphones e-Pine64 Pinephone Pro.
    • Ukwengezwa okungeziwe kwe-ARM SoC namabhodi: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 kanye ne-RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQntQnt8062, IPQntQnt8065, IPQnt8, IPQnt8195, IPQnt4, IPQnt4, IPQnt1 BL i.MXXNUMXMM OSM-S, MTXNUMX (Acer Tomato), Radxa ROCK XNUMXC+, NanoPi RXNUMXS Enterprise Edition, JetHome JetHub DXNUMXp. Abashayeli ababuyekeziwe be-SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom kanye ne-NXP.

Ngaso leso sikhathi, i-Latin American Free Software Foundation yenza inguqulo ye-kernel 6.1 yamahhala - Linux-libre 6.1-gnu, esulwe izici ze-firmware namashayeli aqukethe izingxenye ezingezona zamahhala noma izingxenye zekhodi, ububanzi bayo kukhawulwe ngumkhiqizi. Ukukhishwa okusha kuhlanza umshayeli omusha we-rtw8852b namafayela e-DTS we-Qualcomm ehlukahlukene kanye ne-MediaTek SoCs enamaphrosesa asekelwe ekwakhiweni kwe-AArch64. Ikhodi yokuhlanza i-blob ebuyekeziwe kubashayeli nakuzinhlelo ezingaphansi kwe-amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. Ukuhlanzwa kwamakhadi e-TV abashayeli be-tm6000 aphelelwe yisikhathi, cpia2 v4l, sp8870, av7110 kulungisiwe.

Source: opennet.ru

Engeza amazwana