Ukukhutshwa kwe-kernel ye-Linux 6.1

Emva kweenyanga ezimbini zophuhliso, uLinus Torvalds ubonise ukukhululwa kweLinux kernel 6.1. Phakathi kwezona nguqu ziphawulekayo: inkxaso yophuhliso lwabaqhubi kunye neemodyuli kulwimi lwe-Rust, ukuphuculwa kwendlela yokumisela amaphepha ememori asetyenzisiweyo, umphathi okhethekileyo wememori kwiinkqubo ze-BPF, inkqubo yokuxilonga iingxaki zememori KMSAN, i-KCFI (Kernelk Control). -Flow Integrity) indlela yokukhusela, ukuqaliswa komthi wesakhiwo seMaple.

Uguqulelo olutsha lubandakanya ukulungiswa kwe-15115 ukusuka kubaphuhlisi be-2139, ubukhulu be-patch yi-51 MB, malunga namaxesha ama-2 amancinci kunobukhulu beepatches ezivela kwi-kernel 6.0 kunye ne-5.19. Utshintsho luchaphazele iifayile ze-13165, imigca ye-716247 yekhowudi yongezwa, kwaye imigca ye-304560 yacinywa. Ngokumalunga ne-45% yazo zonke iinguqu ezifakwe kwi-6.1 zihambelana nabaqhubi besixhobo, malunga ne-14% yeenguqu zihambelana nokuhlaziya ikhowudi ethile kwi-architectures ye-hardware, i-14% inxulumene ne-stack yenethiwekhi, i-3% inxulumene neenkqubo zefayile, kunye ne-3% zinxulumene ne-kernel yangaphakathi yendlela esezantsi.

Izinto ezintsha eziphambili kwi-kernel 6.1:

  • Iinkonzo zememori kunye nenkqubo
    • Yongeze amandla okusebenzisa iRust njengolwimi lwesibini ekuphuhliseni abaqhubi kunye neemodyuli zekernel. Esona sizathu siphambili sokuxhasa iRust kukwenza kube lula ukubhala izixhobo ezikhuselekileyo nezikumgangatho ophezulu ngokunciphisa amathuba okwenza iimpazamo xa usebenza ngememori. Inkxaso yomhlwa ivaliwe ngokungagqibekanga kwaye ayibangeli ukuba iRust ibandakanywe njengokuxhomekeka kolwakhiwo lwekernel efunekayo. I-kernel ukuza kuthi ga ngoku yamkele inguqu encinci, ehluthiweyo yeepatches, eziye zancitshiswa ukusuka kwi-40 ukuya kwi-13 amawaka emigca yekhowudi kwaye inikezela kuphela ubuncinci obufunekayo, okwaneleyo ukwakha imodyuli ye-kernel elula ebhalwe ngolwimi lwe-Rust. Kwixesha elizayo, kucetywa ukunyusa ngokuthe ngcembe umsebenzi okhoyo, ukuhambisa olunye utshintsho kwisebe le-Rust-for-Linux. Ngokunxuseneyo, iiprojekthi ziyaphuhliswa ukuze kusetyenziswe isiseko esicetywayo ukuphuhlisa abaqhubi be-NVMe drives, i-9p network protocol kunye ne-Apple M1 GPU ngolwimi lweRust.
    • Kwiinkqubo ezisekelwe kwi-AArch64, i-RISC-V kunye ne-LoongArch architectures kunye ne-EFI, ukukwazi ukulayisha ngokuthe ngqo imifanekiso ye-kernel ecinezelweyo iphunyeziwe. Abaphathi bongeziweyo bokulayisha, ukuqhuba kunye nokukhulula imifanekiso ye-kernel, ebizwa ngokuthe ngqo kwi-EFI zboot. Abaphathi bokufaka kunye nokucima iiprothokholi kwi-database yeprotocol ye-EFI nazo zongeziwe. Ngaphambili, ukukhutshwa kwakuqhutywa yi-bootloader eyahlukileyo, kodwa ngoku oku kunokwenziwa ngumphathi kwi-kernel ngokwayo - umfanekiso we-kernel wenziwa njengesicelo se-EFI.
    • Ukubunjwa kubandakanya inxalenye yeepatches kunye nokuphunyezwa kwemodeli yokulawula imemori yamanqanaba amaninzi, okukuvumela ukuba uhlukanise iibhanki zeememori ezineempawu ezahlukeneyo zokusebenza. Umzekelo, awona maphepha asetyenziswa kakhulu anokugcinwa kwinkumbulo ekhawulezayo, ngelixa amaphepha angafane asetyenziswe anokugcinwa kwinkumbulo ecothayo. I-Kernel 6.1 yazisa indlela yokumisela apho amaphepha asetyenziswa kakhulu abekwe kwinkumbulo ecothayo ukuze abe nokunyuselwa kwimemori ekhawulezayo, kwaye yazisa nombono oqhelekileyo wemigangatho yememori kunye nokusebenza okuhambelanayo.
    • Iquka indlela ye-MGLRU (Multi-Generational LRU), ethatha indawo ye-LRU endala (eSandula kuSetyenziswa kutsha nje) esekwe kwimigca emibini enesakhiwo esinezigaba ezininzi esigqiba ngcono ukuba ngawaphi amaphepha enkumbulo asetyenziswayo kwaye angatyhalelwa ngaphandle ukuya. isahlulo sokutshintsha.
    • Inkxaso eyongeziweyo yesakhiwo sedatha "somthi wemaple" ecetywe ziinjineli ze-Oracle, ebekwe njengeyona ndawo isebenzayo endaweni yesakhiwo "somthi obomvu-omnyama". Umthi weMaple ngumahluko womthi B oxhasa uluhlu lwezalathiso kwaye uyilelwe ukwenza usebenziso olululo lwecache yeprosesa zangoku. Ezinye ii-subsystems zolawulo lweememori sele zidluliselwe kumthi we-maple, oye waba nefuthe elihle ekusebenzeni kwabo. Kwixesha elizayo, umthi wemaple ungasetyenziselwa ukuphumeza uluhlu lokutshixa.
    • Ukukwazi ukwenza iinkqubo ze-BPF β€œezonakalisayo” ezilungiselelwe ngokukodwa ukuqalisa ukuvalwa konxunguphalo nge-crash_kexec () umnxeba wongezwe kwi-subsystem ye-BPF. Ezo nkqubo ze-BPF zinokufuneka ngeenjongo zokulungisa iimpazamo ukuqalisa ukuyilwa kwendawo yokulahla ingozi ngexesha elithile. Ukufikelela kwimisebenzi eyonakalisayo xa ulayisha inkqubo ye-BPF, kufuneka uchaze iflegi ye-BPF_F_DESTRUCTIVE, uvule i-sysctl kernel.destructive_bpf_enabled, kwaye ube namalungelo e-CAP_SYS_BOOT.
    • Kwiiprogram ze-BPF, kuyenzeka ukubala i-cgroup elements, kwakunye nokubala izibonelelo (iifayili, i-vma, iinkqubo, njl.njl.) zomsonto othile okanye umsebenzi othile. Uhlobo olutsha lwemephu luphunyeziwe ukwenza ii-buffers zeringi zabasebenzisi.
    • Kongezwe umnxeba okhethekileyo wolwabiwo lwememori kwiiprogram ze-BPF (i-memory allocator), enika ulwabiwo lwememori ekhuselekileyo kwimeko ye-BPF kune-kmalloc eqhelekileyo ().
    • Inxalenye yokuqala yeenguqu idityanisiwe, inika amandla okwenza abaqhubi bezixhobo zokufakelwa kunye ne-HID (I-Human Interface Device) interface, ephunyezwe ngendlela yeenkqubo ze-BPF.
    • I-kernel iyisuse ngokupheleleyo ikhowudi yokuxhasa i-a.out ifomathi yefayile ephunyeziweyo, eyehliswa ekukhululweni kwe-5.1 kwaye ikhutshaziwe kwizakhiwo ezinkulu ukususela kwiinguqulelo ze-5.18 kunye ne-5.19. Ifomati ye-a.out kudala iyekwa kwiinkqubo ze-Linux, kwaye ukuveliswa kweefayile ze-a.out akuxhaswanga zizixhobo zangoku kuqwalaselo lweLinux olungagqibekanga. Umlayishi weefayile ze-a.out unokuphunyezwa ngokupheleleyo kwindawo yomsebenzisi.
    • Kwiinkqubo ezisekelwe kwi-LoongArch imiyalelo esetyenzisiweyo kwiprosesa ye-Loongson 3 5000 kunye nokuphumeza i-RISC ISA entsha, efana ne-MIPS kunye ne-RISC-V, inkxaso yeziganeko zokulinganisa ukusebenza (iziganeko ze-perf), i-kexec, i-kdump kunye ne-BPF JIT ukuhlanganiswa kuphunyeziwe. .
    • I-interface ye-io_uring ye-asynchronous I/O inikezela ngemowudi entsha, IORING_SETUP_DEFER_TASKRUN, evumela ukuba umsebenzi onxulumene ne-ring buffer urhoxiswe okwethutyana de isicelo senziwe, esinokusetyenziswa ukwenza ibhetshi kunye nokunqanda imiba yokubambezeleka ngenxa yokhuseleko kwizicelo ixesha elingalunganga.
    • Iinkqubo kwisithuba somsebenzisi zinikwa isakhono sokuqalisa uguqulo loluhlu lwamaphepha eenkumbulo zesiqhelo kwiseti yamaphepha enkumbulo amakhulu (Amaphepha-Makhulu aNgaphandle).
    • Ukuphunyezwa okongeziweyo kwesixhobo se-/dev/userfaultfd, esivumela ukufikelela kumsebenzi we-userfaultfd () umnxeba wenkqubo usebenzisa amalungelo okufikelela kwi-FS. Umsebenzi we-userfaultfd ikuvumela ukuba wenze iziphatho zokufikelela kumaphepha eenkumbulo ezingabiwanga (iimpazamo zephepha) kwindawo yomsebenzisi.
    • Iimfuno zoguqulelo lwe-GNU Yenza izinto eziluncedo zonyusiwe - ubuncinci uguqulelo 3.82 luyafuneka ngoku ukwakha ikernel.
  • Inkqubo engaphantsi kweDisk, I/O kunye neeNkqubo zeFayile
    • Ukulungiswa komsebenzi okubalulekileyo kwenziwe kwisixokelelwano sefayile ye-Btrfs phakathi kwezinye izinto, ukusebenza kwefowuni ye-FIEMAP ioctl yondisiwe ngemiyalelo yobukhulu. Inkxaso eyongeziweyo ye-asynchronous buffered ubhala usetyenziso olusebenzisa io_uring. Inkxaso eyongeziweyo yeefayile ezikhuselweyo nge-fs-verrity kumsebenzi "wokuthumela".
    • Inkqubo yefayile ye-ext4 yongeze ukulungiswa kokusebenza okunxulumene nokugcinwa kwejenali kunye nokusebenza kokufunda kuphela.
    • Inkqubo yefayile ye-EROFS (iNkqubo yeFayile eYongezelelweyo yokuFunda kuphela), eyenzelwe ukusetyenziswa kwizahlulo ezifikelelekayo kwimodi yokufunda kuphela, isebenzisa ukukwazi ukwabelana ngedatha ephindwe kabini kwiinkqubo zeefayile ezahlukeneyo.
    • I-statx () umnxeba wenkqubo yongezwe ukubonisa ulwazi malunga nokuba i-I/O ethe ngqo ingafakwa kwifayile.
    • Inkxaso yokudala iifayile zexeshana kunye neflegi ye-O_TMPFILE yongezwe kwi-FUSE (Iifayile zefayile kwindawo yoMsebenzisi) engaphantsi.
  • Ukwenziwa kweVirtual kunye noKhuseleko
    • Ukuphunyezwa kwe-CFI (i-Control Flow Integrity) indlela yokukhusela iye yatshintshwa, yongeza iitshekhi phambi komnxeba ngamnye ongathanga ngqo womsebenzi ukuze kubonwe ezinye iindlela zokuziphatha okungachazwanga ezinokuthi zikhokelele ekwaphulwani komyalelo wesiqhelo wokwenziwa (ulawulo lokuhamba) njenge isiphumo sokusetyenziswa kwemisebenzi etshintsha izikhombisi kwimisebenzi egcinwe kwinkumbulo . Ukuphunyezwa okusemgangathweni kwe-CFI esuka kwiprojekthi ye-LLVM ithathelwe indawo yinketho ekwasekelwe ekusebenziseni i-Clang, kodwa ilungiselelwe ngokukodwa ukukhusela i-subsystems ephantsi kunye ne-kernel system yokusebenza. Kwi-LLVM, ukuphunyezwa okutsha kuya kunikezelwa kukukhutshwa kwe-Clang 16 kwaye kuya kwenziwa ukuba kwenziwe ngokhetho lwe-"-fsanitize=kcfi". Umahluko ophambili ngokuphunyezwa okutsha kukuba awubophekanga kwi-link-time optimizations (LTO) kwaye ayiphumeleli ekubeni izikhombisi zomsebenzi zitshintshwe ngamakhonkco kwitafile yokuxhuma.
    • Kwiimodyuli ze-LSM (iModyuli yoKhuseleko yeLinux), kuyenzeka ukwenza abaphathi abathintela imisebenzi ukwenza izithuba zamagama.
    • Izixhobo zibonelelwa ngokungqinisisa i-PKCS#7 yesiginitsha yedijithali kwiinkqubo ze-BPF.
    • Ikhono lokuvula kwimodi yokungathinteli (O_NONBLOCK), ekhutshwe ngokungahambi kakuhle kwi-kernel 5.6, ibuyiselwe kwi-/dev/random.
    • Kwiinkqubo ezinolwakhiwo lwe-x86, isilumkiso songeziwe kwimeko yokwenziwa kwemephu yamaphepha enkumbulo yi-kernel subsystems evumela ngaxeshanye ufezekiso nokubhala. Kwixesha elizayo, ukuba nokwenzeka kokuthintela ngokupheleleyo imephu yememori enjalo kuqwalaselwa.
    • I-KMSAN eyongeziweyo (i-Kernel Memory Sanitizer) i-debugging mechanism yokukhangela ukusetyenziswa kwememori engasetyenziswanga kwi-kernel, kunye nokuvuza kwememori engabonakaliyo phakathi kwendawo yomsebenzisi kunye nezixhobo.
    • Uphuculo lwenziwe kwi-crypto-security CRNG pseudo-random number generator esetyenziswe kwi-gerandom call. Utshintsho lulungiswe nguJason A. Donenfeld, umbhali we-VPN WireGuard, kwaye ijolise ekuphuculeni ukhuseleko lwe-pseudo-random integer extraction.
  • Inkqubo engaphantsi yothungelwano
    • I-stack ye-TCP inika amandla (ikhubaziwe ngokungagqibekanga) ukusebenzisa iitafile ze-hash ze-socket ngokwahlukileyo kwindawo yegama ngalinye, ephucula ukusebenza kwiinkqubo ezinenani elikhulu leendawo zamagama.
    • Ikhowudi esusiwe ukuxhasa iprothokholi ye-DECnet yelifa. Isithuba somsebenzisi stubs ze-API zishiywe endaweni ukuvumela izicelo ezisebenzisa iDECnet ukuba ziqulunqwe, kodwa ezi zicelo aziyi kukwazi ukuqhagamshela kwinethiwekhi.
    • I-netlink protocol ibhaliwe.
  • Izixhobo
    • Umqhubi we-amdgpu wongeze inkxaso ye-DSC (i-Display Stream Compression) ugqithiso loxinzelelo lwedatha olungalahlekiyo xa utshintshiselana ngolwazi ngezikrini ezixhasa izigqibo eziphezulu kakhulu. Umsebenzi uyaqhubeka ukubonelela ngenkxaso kwiqonga le-AMD RDNA3 (RX 7000) kunye ne-CDNA (Instinct). Inkxaso eyongeziweyo ye-DCN 3.2, i-SMU 13.x, i-NBIO 7.7, i-GC 11.x, i-PSP 13.x, i-SDMA 6.x kunye ne-GMC 11.x amacandelo e-IP. Umqhubi we-amdkfd (we-AMD GPUs ecacileyo efana ne-Polaris) ibonelela ngenkxaso ye-GFX 11.0.3.
    • Umqhubi we-i915 (Intel) uquka inkxaso ye-Meteor Lake GPU. I-Meteor Lake kunye nee-GPU ezintsha zixhasa i-DP 2.0 (DisplayPort) ujongano. Izichazi ezongeziweyo zamakhadi evidiyo asekelwe kwi-Alder Lake S microarchitecture.
    • Inkxaso eyongeziweyo yee-audio subsystems eziphunyezwe kwi-Apple Silicon, i-Intel SkyLake kunye ne-Intel KabyLake processors. Umqhubi womsindo we-CS35L41 HDA uxhasa imo yokulala. Inkxaso eyongeziweyo ye-ASoC (i-ALSA System kwi-Chip) kwii-chips ezidibeneyo ze-audio Apple Silicon, i-AMD Rembrant DSPs, i-AMD Pink Sardine ACP 6.2, i-Everest ES8326, i-Intel Sky Lake kunye ne-Kaby Lake, i-Mediatek MT8186, i-NXP i.MX8ULP DSPs, i-Qualcomm SC8280X8250 I-SM8450 kunye ne-Texas Instruments SRC4392
    • Inkxaso eyongeziweyo yeepaneli ze-LCD Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA1, ACA116A, AUO B01.6UAN116 I-WHM -N21, INX N116BCA-EA2 , INX N116BCN-EA1, Multi-Inno Technology MI0800FT-9.
    • Inkxaso eyongeziweyo kubalawuli be-AHCI SATA abasetyenziswe kwi-Baikal-T1 SoC.
    • Inkxaso eyongeziweyo yeechips zeBluetooth MediaTek MT7921, Intel Magnetor (CNVi, uQhagamshelwano oluDibeneyo), i-Realtek RTL8852C, RTW8852AE kunye ne-RTL8761BUV (Edimax BT-8500).
    • Umqhubi we-ath11k weemodyuli ezingenazintambo ze-Qualcomm wongeze inkxaso yokuskena kwe-spectral kuluhlu lwe-160 MHz, iphunyezwe i-NAPI enemisonto emininzi, kunye nenkxaso ephuculweyo ye-Qualcomm WCN6750 Wi-Fi chips.
    • Abaqhubi abongeziweyo bekhibhodi yePinePhone, 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, tablets XP-PEN Deco Pro S kunye ne-Intuos Pro Small (PTH-460).
    • Umqhubi wongeziweyo we-Aspeed HACE (iHash kunye ne-Crypto Engine) i-cryptographic accelerators.
    • Inkxaso eyongeziweyo kubalawuli beThunderbolt/USB4 Intel Meteor Lake.
    • Inkxaso eyongeziweyo ye-Sony Xperia 1 IV, i-Samsung Galaxy E5, i-E7 kunye ne-Grand Max, ii-smartphones zePine64 Pinephone Pro.
    • Inkxaso eyongeziweyo ye-ARM SoC kunye neebhodi: i-AMD DaytonaX, i-Mediatek MT8186, i-Rockchips RK3399 kunye ne-RK3566, i-TI AM62A, i-NXP i.MX8DXL, i-Renesas R-Car H3Ne-1.7G, i-Qualcomm IPQ8064-v2.0, i-IPQnt8062SL / i-IPQnt8065, i-IPQnt8, i-IPQnt8195, i-IPQnt4 BL i.MX4MM OSM-S, MT1 (Acer Tomato), Radxa ROCK XNUMXC+, NanoPi RXNUMXS Enterprise Edition, JetHome JetHub DXNUMXp. Abaqhubi abahlaziyiweyo be-SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom kunye ne-NXP.

Kwangaxeshanye, iLatin American Free Software Foundation yenze inguqulelo ye-kernel yasimahla 6.1-Linux-libre 6.1-gnu, ecinyiweyo kwizinto ze-firmware kunye nabaqhubi abaqulathe amacandelo angasimahla okanye amacandelo ekhowudi, umda wayo. umda ngumenzi. Ukukhutshwa okutsha kucoca umqhubi omtsha we-rtw8852b kunye neefayile ze-DTS ezahlukeneyo ze-Qualcomm kunye ne-MediaTek SoCs kunye neeprosesa ezisekelwe kwi-Architecture ye-AArch64. Ikhowudi yokucoca i-blob ehlaziyiweyo kubaqhubi kunye ne-subsystems amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. Ukucocwa kwabaqhubi abaphelelwe lixesha amakhadi eTV tm6000, cpia2 v4l, sp8870, av7110 sele ilungisiwe.

umthombo: opennet.ru

Yongeza izimvo