Kutulutsidwa kwa kernel ya Linux 6.1

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds adapereka kutulutsidwa kwa Linux kernel 6.1. Zina mwa zosintha zodziwika bwino: kuthandizira pakukula kwa madalaivala ndi ma module mu chilankhulo cha dzimbiri, kusinthika kwamakina ozindikira masamba omwe agwiritsidwa ntchito, oyang'anira kukumbukira kwa mapulogalamu a BPF, dongosolo lozindikira mavuto a kukumbukira KMSAN, KCFI (Kernelk Control). -Flow Integrity) njira yotetezera, kukhazikitsidwa kwa mtengo wa Maple.

Mtundu watsopanowu umaphatikizapo kukonza kwa 15115 kuchokera kwa opanga 2139, kukula kwa chigamba ndi 51 MB, komwe kuli kocheperako ka 2 kuposa kukula kwa zigamba kuchokera ku ma kernel 6.0 ndi 5.19. Zosinthazo zidakhudza mafayilo 13165, mizere 716247 yamakhodi idawonjezedwa, ndipo mizere 304560 idachotsedwa. Pafupifupi 45% ya zosintha zonse zomwe zidayambitsidwa mu 6.1 zimagwirizana ndi madalaivala a zida, pafupifupi 14% ya zosintha zimakhudzana ndi kukonzanso kachidindo kamangidwe ka ma hardware, 14% ikugwirizana ndi stack network, 3% ikugwirizana ndi mafayilo amafayilo, ndi 3% zimagwirizana ndi ma kernel subsystems amkati.

Zatsopano zazikulu mu kernel 6.1:

  • Memory ndi ntchito zadongosolo
    • Anawonjezera luso logwiritsa ntchito Rust ngati chilankhulo chachiwiri popanga madalaivala ndi ma module a kernel. Chifukwa chachikulu chothandizira Dzimbiri ndikupangitsa kuti zikhale zosavuta kulemba madalaivala otetezeka komanso apamwamba kwambiri pochepetsa mwayi wopanga zolakwika pogwira ntchito ndi kukumbukira. Thandizo la dzimbiri limayimitsidwa mwachisawawa ndipo sizimapangitsa kuti Dzimbiri liphatikizidwe ngati kudalira kernel kumanga. Kernel mpaka pano yatengera zochepa, zovula-pansi za zigamba, zomwe zachepetsedwa kuchokera ku 40 mpaka 13 zikwi zikwi za mizere ya code ndipo zimapereka zochepa zofunikira, zokwanira kuti apange gawo losavuta la kernel lolembedwa m'chinenero cha Dzimbiri. M'tsogolomu, akukonzekera kuwonjezera pang'onopang'ono ntchito zomwe zilipo, kusamutsa zosintha zina kuchokera ku nthambi ya Rust-for-Linux. Mofananamo, mapulojekiti akukonzedwa kuti agwiritse ntchito njira zomwe akufunira kupanga madalaivala a NVMe drives, 9p network protocol ndi Apple M1 GPU m'chinenero cha Rust.
    • Kwa machitidwe ozikidwa pa AArch64, RISC-V ndi LoongArch architectures okhala ndi EFI, kutha kuyika mwachindunji zithunzi za kernel zakhazikitsidwa. Othandizira owonjezera pakutsitsa, kuthamanga ndi kutsitsa zithunzi za kernel, zotchedwa mwachindunji kuchokera ku EFI zboot. Othandizira kukhazikitsa ndi kuchotsa ma protocol kuchokera ku database ya EFI protocol awonjezedwanso. M'mbuyomu, kumasula kunkachitidwa ndi bootloader yosiyana, koma tsopano izi zikhoza kuchitidwa ndi wothandizira mu kernel yokha - chithunzi cha kernel chimapangidwa ngati ntchito ya EFI.
    • Zolembazo zikuphatikizapo gawo la zigamba ndi kukhazikitsa kwa mitundu ingapo yoyang'anira kukumbukira, yomwe imakulolani kuti mulekanitse mabanki a kukumbukira omwe ali ndi machitidwe osiyanasiyana. Mwachitsanzo, masamba omwe amagwiritsidwa ntchito kwambiri akhoza kusungidwa m'makumbukidwe achangu kwambiri, pomwe masamba omwe sagwiritsidwa ntchito kawirikawiri amatha kusungidwa mochedwa kwambiri. Kernel 6.1 imayambitsa njira yodziwira komwe masamba omwe amagwiritsidwa ntchito kwambiri amakhala pokumbukira pang'onopang'ono kuti athe kukwezedwa kukumbukira mwachangu, komanso imabweretsa lingaliro lambiri la magawo amakumbukiro ndi magwiridwe antchito awo.
    • Zimaphatikizapo njira ya MGLRU (Multi-Generational LRU), yomwe imalowa m'malo mwa LRU (Yogwiritsidwa Ntchito Posachedwa Posachedwa) kukhazikitsidwa pamizere iwiri yokhala ndi masitepe ambiri omwe amatsimikizira bwino kuti ndi masamba ati okumbukira omwe akugwiritsidwa ntchito komanso omwe atha kukankhidwira kunja. gawo losinthana.
    • Thandizo lowonjezera la data ya "mtengo wa mapulo" wopangidwa ndi akatswiri a Oracle, omwe ali m'malo abwino kwambiri a "mtengo wofiyira". Mtengo wa mapulo ndi wosiyana ndi mtengo wa B womwe umathandizira kulondolera kwamitundu yosiyanasiyana ndipo wapangidwa kuti ugwiritse ntchito bwino posungira mapurosesa amakono. Njira zina zoyendetsera kukumbukira zasamutsidwa kale ku mtengo wa mapulo, zomwe zakhala ndi zotsatira zabwino pakuchita kwawo. M'tsogolomu, mtengo wa mapulo ungagwiritsidwe ntchito kukhazikitsa kutseka kwamitundu.
    • Kutha kupanga mapulogalamu "owononga" a BPF opangidwa mwapadera kuti ayambitse kuyimitsa mwadzidzidzi kudzera pa crash_kexec() kuyimba kwawonjezedwa ku gawo laling'ono la BPF. Mapulogalamu a BPF otere angafunikire kuti athetse vuto kuti ayambitse kupanga dambo langozi panthawi inayake. Kuti mupeze zowononga potsegula pulogalamu ya BPF, muyenera kutchula mbendera ya BPF_F_DESTRUCTIVE, yambitsani sysctl kernel.destructive_bpf_enabled, ndikukhala ndi maufulu a CAP_SYS_BOOT.
    • Pamapulogalamu a BPF, ndizotheka kuwerengera zinthu zamagulu, komanso kuwerengera zinthu (mafayilo, vma, njira, ndi zina) za ulusi kapena ntchito inayake. Mtundu watsopano wa mapu wakhazikitsidwa kuti apange ma ring buffers.
    • Onjezani kuyimba kwapadera pakugawika kwa kukumbukira mu mapulogalamu a BPF (memory allocator), yomwe imapereka kugawika kwa kukumbukira kotetezedwa munkhani ya BPF kuposa muyezo kmalloc().
    • Gawo loyamba la zosinthazo laphatikizidwa, ndikupereka mwayi wopanga madalaivala a zida zolowera ndi mawonekedwe a HID (Human Interface Device), omwe akugwiritsidwa ntchito ngati mapulogalamu a BPF.
    • Kernel yachotsa kwathunthu kachidindo kuti ithandizire a.out executable file format, yomwe idatsitsidwa pakutulutsidwa kwa 5.1 ndipo idayimitsidwa pazomanga zazikulu kuyambira mitundu 5.18 ndi 5.19. Mtundu wa a.out wasiya kugwira ntchito kwa nthawi yayitali pamakina a Linux, ndipo kupanga mafayilo a.out sikumathandizidwa ndi zida zamakono pazosintha za Linux. Chojambulira cha mafayilo a.out chikhoza kukhazikitsidwa kwathunthu pamalo ogwiritsira ntchito.
    • Kwa machitidwe ozikidwa pamapangidwe a LoongArch malangizo omwe amagwiritsidwa ntchito mu purosesa ya Loongson 3 5000 ndikukhazikitsa RISC ISA yatsopano, yofanana ndi MIPS ndi RISC-V, chithandizo cha zochitika zoyezera zochitika (zochitika za perf), kexec, kdump ndi BPF JIT compilation ikugwiritsidwa ntchito. .
    • Mawonekedwe a io_uring asynchronous I/O akupereka mawonekedwe atsopano, IORING_SETUP_DEFER_TASKRUN, omwe amalola kuti ntchito yokhudzana ndi ring buffer iimitsidwe kwakanthawi mpaka pempho litapangidwa, lomwe lingagwiritsidwe ntchito kuphatikizira ntchito ndikupewa zovuta za latency chifukwa chakusachitapo kanthu. nthawi yolakwika.
    • Njira zomwe zili m'malo ogwiritsira ntchito zimapatsidwa mwayi woyambitsa kutembenuka kwamasamba angapo okumbukira bwino kukhala masamba akulu okumbukira (Transparent Huge-Pages).
    • Kukhazikitsa kowonjezera kwa chipangizo cha /dev/userfaultfd, chomwe chimalola mwayi wogwiritsa ntchito foni ya userfaultfd() pogwiritsa ntchito ufulu wopezeka mu FS. Magwiridwe a userfaultfd amakulolani kuti mupange zogwirira ntchito kuti mupeze masamba osawerengeka (zolakwika zamasamba) pamalo ogwiritsira ntchito.
    • Zofunikira za mtundu wa GNU Make utility zawonjezeka - osachepera mtundu 3.82 tsopano ukufunika kuti mupange kernel.
  • Disk Subsystem, I/O ndi File Systems
    • Kukhathamiritsa kwakukulu kwa magwiridwe antchito kwapangidwa pamafayilo a Btrfs; mwa zina, magwiridwe antchito a FIEMAP ioctl kuyimba kwawonjezedwa ndi kulamula kwakukulu. Thandizo lowonjezera la zolemba za asynchronous buffered zogwiritsa ntchito io_uring. Thandizo lowonjezera la mafayilo otetezedwa ndi fs-verity ku ntchito ya "send".
    • Dongosolo la fayilo la ext4 lawonjezera kukhathamiritsa kwa magwiridwe antchito okhudzana ndi kukonza kwa magazini ndi kuwerengera kokha.
    • Dongosolo la fayilo la EROFS (Enhanced Read-Only File System), lopangidwa kuti ligwiritsidwe ntchito pamagawo opezeka powerenga-pokha, limagwiritsa ntchito kuthekera kogawana deta yobwerezedwa m'mafayilo osiyanasiyana.
    • Ma statx() system call yawonjezedwa kuti awonetse zambiri ngati I/O yachindunji ingagwiritsidwe ntchito pafayilo.
    • Thandizo lopanga mafayilo osakhalitsa ndi mbendera ya O_TMPFILE yawonjezedwa ku FUSE (Filesystems in User Space) subsystem.
  • Virtualization ndi Chitetezo
    • Kukhazikitsidwa kwa njira yodzitetezera ya CFI (Control Flow Integrity) yasinthidwa, ndikuwonjezera macheke musanayambe kuyimba kwina kulikonse kuti azindikire mitundu ina ya machitidwe osadziwika omwe angayambitse kuphwanya lamulo lanthawi zonse (control flow) chifukwa cha kugwiritsa ntchito zinthu zomwe zikusintha zolozera kukhala ntchito zosungidwa mu kukumbukira. Kukhazikitsidwa koyenera kwa CFI kuchokera ku projekiti ya LLVM kwasinthidwa ndi njira yomwe idakhazikitsidwanso pogwiritsa ntchito Clang, koma idasinthidwa mwapadera kuti iteteze ma subsystems otsika ndi ma kernels opangira. Mu LLVM, kukhazikitsa kwatsopano kudzaperekedwa pakutulutsidwa kwa Clang 16 ndipo kudzathandizidwa ndi "-fsanitize=kcfi" njira. Kusiyanitsa kwakukulu ndi kukhazikitsa kwatsopano ndikuti sikumangiriridwa ndi kukhathamiritsa kwa nthawi (LTO) ndipo sizimapangitsa kuti zolozera zogwirira ntchito zisinthidwe ndi maulalo patebulo lolumphira.
    • Kwa ma module a LSM (Linux Security Module), ndizotheka kupanga othandizira omwe amalepheretsa ntchito kuti apange malo a mayina.
    • Zida zaperekedwa potsimikizira PKCS#7 siginecha za digito mumapulogalamu a BPF.
    • Kuthekera kotsegula munjira yosatsekereza (O_NONBLOCK), yomwe idachotsedwa mosazindikira mu kernel 5.6, yabwezeredwa ku /dev/random.
    • Pamakina omwe ali ndi zomangamanga za x86, chenjezo lawonjezedwa pakupanga mapu amasamba okumbukira ndi ma kernel subsystems omwe amalola nthawi imodzi kuphedwa ndi kulemba. M'tsogolomu, kuthekera koletsa kotheratu kupanga mapu a kukumbukira koteroko kumaganiziridwa.
    • Njira yowonjezera ya KMSAN (Kernel Memory Sanitizer) yowunikira kuti azindikire kugwiritsidwa ntchito kwa kukumbukira kosasinthika mu kernel, komanso kukumbukira kukumbukira kutayikira pakati pa malo ogwiritsa ntchito ndi zida.
    • Kusintha kwapangidwa kwa crypto-secure CRNG pseudo-random number jenereta yomwe imagwiritsidwa ntchito poyimba foni. Zosinthazo zidakonzedwa ndi Jason A. Donenfeld, wolemba VPN WireGuard, ndipo cholinga chake ndi kukonza chitetezo cha pseudo-random integer extraction.
  • Network subsystem
    • The TCP stack imapereka mphamvu (yoyimitsidwa mwachisawawa) kugwiritsa ntchito matebulo a socket hash padera pa malo aliwonse a dzina, zomwe zimapangitsa kuti ntchito ziziyenda bwino pamakina omwe ali ndi mayina ambiri.
    • Khodi yachotsedwa kuti ithandizire cholowa cha DECnet protocol. Zida za API za malo ogwiritsira ntchito zimasiyidwa kuti zilole mapulogalamu omwe amagwiritsa ntchito DECnet kuti apangidwe, koma mapulogalamuwa sangathe kulumikizidwa ndi netiweki.
    • Protocol ya netlink yalembedwa.
  • Zida
    • Dalaivala wa amdgpu wawonjezera chithandizo cha DSC (Display Stream Compression) kutumiza kwa kuphatikizika kopanda kutaya kwa data posinthana zambiri ndi zowonera zomwe zimathandizira kutsimikiza kwapamwamba kwambiri. Ntchito ikupitilizabe kuthandizira nsanja za AMD RDNA3 (RX 7000) ndi CDNA (Instinct). Zowonjezera zothandizira za DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x ndi GMC 11.x IP zigawo. Dalaivala wa amdkfd (wa discrete AMD GPUs monga Polaris) amapereka chithandizo kwa GFX 11.0.3.
    • Dalaivala wa i915 (Intel) akuphatikiza chithandizo cha Meteor Lake GPU. Meteor Lake ndi ma GPU atsopano amathandizira mawonekedwe a DP 2.0 (DisplayPort). Zozindikiritsa zowonjezedwa zamakadi amakanema kutengera Alder Lake S microarchitecture.
    • Thandizo lowonjezera la ma subsystems a Apple Silicon, Intel SkyLake ndi Intel KabyLake processors. Dalaivala ya audio ya CS35L41 HDA imathandizira kugona. Thandizo la ASoC (ALSA System pa Chip) lothandizira makina ophatikizika amawu a Apple Silicon, AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake ndi Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSPs, Qualcomm SC8280X8250, Qualcomm SC8450X4392, SMXNUMX ndi Texas Instruments SRCXNUMX
    • Zowonjezera zothandizira zamagulu a LCD Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120NWF1 RH, Densitron DMT116VGHMCMI-01.6A TFT, AUO B116UAN21, IVO M116NW2J-R116, Innolux N1ACO-ACCO-A0800, AUO-AUO-9. XNUMXWH M-NXNUMX, INX NXNUMXBCA- EAXNUMX , INX NXNUMXBCN-EAXNUMX, Multi-Inno Technology MIXNUMXFT-XNUMX.
    • Zowonjezera zothandizira olamulira a AHCI SATA omwe amagwiritsidwa ntchito mu Baikal-T1 SoC.
    • Thandizo lowonjezera la tchipisi ta Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, Integrated Connectivity), Realtek RTL8852C, RTW8852AE ndi RTL8761BUV (Edimax BT-8500).
    • Dalaivala wa ath11k wa ma module opanda zingwe a Qualcomm awonjezera chithandizo cha kusanthula kowonekera mumtundu wa 160 MHz, akhazikitsa NAPI yokhala ndi ulusi wambiri, komanso kuthandizira bwino kwa tchipisi ta Qualcomm WCN6750 Wi-Fi.
    • Madalaivala owonjezera a kiyibodi ya PinePhone, 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, mapiritsi XP-PEN Deco Pro S. ndi Intuos Pro Small (PTH-460).
    • Dalaivala wowonjezera wa Aspeed HACE (Hash ndi Crypto Engine) cryptographic accelerators.
    • Thandizo lowonjezera la owongolera a Thunderbolt/USB4 Intel Meteor Lake.
    • Thandizo lowonjezera la mafoni a Sony Xperia 1 IV, Samsung Galaxy E5, E7 ndi Grand Max, Pine64 Pinephone Pro.
    • Thandizo lowonjezera la ARM SoC ndi matabwa: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 ndi RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQntQnt8062, IPQnt8065SL, IPQnt8, IPQnt8195, IPQnt4, IPQnt4, IPQnt1, IPQntXNUMX, BL i.MXXNUMXMM OSM-S, MTXNUMX (Acer Tomato), Radxa ROCK XNUMXC+, NanoPi RXNUMXS Enterprise Edition, JetHome JetHub DXNUMXp. Madalaivala osinthidwa a SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom ndi NXP.

Nthawi yomweyo, Latin American Free Software Foundation idapanga mtundu wa kernel yaulere 6.1 - Linux-libre 6.1-gnu, yochotsedwa pazinthu za firmware ndi madalaivala okhala ndi zida zopanda ufulu kapena magawo a code, kukula kwake malire ndi wopanga. Kutulutsidwa kwatsopano kumayeretsa dalaivala watsopano wa rtw8852b ndi mafayilo a DTS osiyanasiyana a Qualcomm ndi MediaTek SoCs okhala ndi mapurosesa otengera kamangidwe ka AArch64. Kusinthidwa kachidindo koyeretsa ma blob mu madalaivala ndi ma subsystems amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. Kuyeretsa madalaivala akale tm6000 TV makadi, cpia2 v4l, sp8870, av7110 kwakonzedwa.

Source: opennet.ru

Kuwonjezera ndemanga