Kutulutsidwa kwa kernel ya Linux 5.11

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds adapereka kutulutsidwa kwa Linux kernel 5.11. Zina mwa zosintha zodziwika bwino: kuthandizira kwa ma Intel SGX enclaves, njira yatsopano yolumikizira mafoni amtundu, mabasi othandizira, kuletsa kusonkhanitsa ma module opanda MODULE_LICENSE (), kusefa mwachangu pamayitanidwe adongosolo mu seccomp, kuyimitsa kuthandizira ia64 zomangamanga, kusamutsidwa kwaukadaulo wa WiMAX kupita kunthambi ya "staging", kuthekera kophatikiza SCTP mu UDP.

Mtundu watsopanowu umaphatikizapo kukonza kwa 15480 kuchokera kwa opanga 1991, kukula kwa chigamba ndi 72 MB (zosintha zomwe zidakhudza mafayilo 12090, mizere ya 868025 ya code idawonjezedwa, mizere 261456 idachotsedwa). Pafupifupi 46% ya zosintha zonse zomwe zidayambitsidwa mu 5.11 zimagwirizana ndi madalaivala a zida, pafupifupi 16% ya zosintha zimagwirizana ndikusintha kachidindo kamangidwe ka ma hardware, 13% ikugwirizana ndi stack network, 3% ikugwirizana ndi mafayilo amafayilo, ndi 4% zimagwirizana ndi ma kernel subsystems amkati.

Zatsopano zazikulu:

  • Disk Subsystem, I/O ndi File Systems
    • Zosankha zingapo zowonjezera zawonjezeredwa ku Btrfs kuti zigwiritsidwe ntchito pobwezeretsa deta kuchokera kumafayilo owonongeka: "rescue=ignorebadroots" kuti akweze, ngakhale kuwonongeka kwa mitengo ina ya mizu (kuchuluka, uuid, reloc data, chipangizo, csum, malo aulere), " rescue=ignoredatacsums” kuti muyimitse kufufuza kwa data ndi "rescue=all" kuti muthe nthawi imodzi ya 'ignorebadroots', 'ignoredatacssums' ndi 'nologreplay'. Njira yokwera ya "inode_cache", yomwe idachotsedwa kale, yathetsedwa. Khodiyo yakonzedwa kuti igwiritse ntchito midadada yokhala ndi metadata ndi data yaying'ono kuposa kukula kwa tsamba (PAGE_SIZE), komanso kuthandizira njira yogawa malo. Zopempha zopanda buffered (Direct IO) zasamutsidwira ku iomap infrastructure. Kuchita kwazinthu zingapo kwakonzedwa; nthawi zina, mathamangitsidwe amatha kufika makumi khumi.
    • XFS imagwiritsa ntchito mbendera ya "zofunikira", zomwe zimawonetsa kufunika kokonzanso. Mbendera ikakhazikitsidwa, mafayilo amafayilo sangakwezedwe mpaka mbendera ikhazikitsidwenso ndi xfs_repair utility.
    • Ext4 imangopereka kukonza zolakwika ndi kukhathamiritsa, komanso kuyeretsa ma code.
    • Kutumizanso kachitidwe ka mafayilo oyikidwa pamwamba pa NFS ndikololedwa (mwachitsanzo, gawo lokhazikitsidwa kudzera pa NFS tsopano litha kutumizidwa kunja kudzera pa NFS ndikugwiritsidwa ntchito ngati posungira wapakatikati).
    • The close_range() system call, yomwe imalola kuti atseke mitundu yonse yamafayilo otseguka nthawi imodzi, yawonjezera njira ya CLOSE_RANGE_CLOEXEC kuti mutseke zofotokozera mu close-on-exec mode.
    • Fayilo ya F2FS imawonjezera mafoni atsopano a ioctl() kuti alole kuwongolera malo omwe mafayilo amasungidwa mu mawonekedwe oponderezedwa. Onjezani "compress_mode=" mount njira yosankha kuyika chowongolera kumbali ya kernel kapena malo ogwiritsa ntchito.
    • Anapereka mwayi wokweza ma Overlayfs ndi njira zopanda mwayi pogwiritsa ntchito malo osiyana a mayina. Kuti muwonetsetse kutsatiridwa ndi kukhazikitsidwa kwachitsanzo chachitetezo, kuwunika kwa code yonse kunachitika. Overlayfs imawonjezeranso kuthekera kothamanga pogwiritsa ntchito makope azithunzi zamafayilo mwa kuletsa kuwunika kwa UUID.
    • Dongosolo la fayilo la Ceph lawonjezera thandizo la protocol ya msgr2.1, yomwe imalola kugwiritsa ntchito algorithm ya AES-GCM potumiza deta mu mawonekedwe obisika.
    • The dm-multipath module imagwiritsa ntchito kuthekera koganizira za CPU affinity ("IO affinity") posankha njira yofunsira I/O.
  • Memory ndi ntchito zadongosolo
    • Njira yatsopano yolumikizira kuyimbira foni yawonjezedwa, kutengera prctl (), yomwe imakupatsani mwayi wopanga zosiyana ndi malo ogwiritsa ntchito mukamalumikizana ndi foni inayake ndikutsanzira machitidwe ake. Izi zimafunikira mu Wine ndi Proton kuti zitsanzire mafoni amtundu wa Windows, zomwe ndizofunikira kuti zitsimikizire kuti zimagwirizana ndi masewera ndi mapulogalamu omwe amayitanitsa mwachindunji kudzera pa Windows API (mwachitsanzo, kuteteza kuti asagwiritsidwe ntchito mosaloledwa).
    • The userfaultfd() system call, yopangidwira kuthana ndi zolakwika zamasamba (kufikira masamba osakumbukika) m'malo ogwiritsira ntchito, tsopano ili ndi kuthekera koletsa kusanja komwe kumachitika pamlingo wa kernel kuti zikhale zovuta kugwiritsa ntchito zovuta zina.
    • Dongosolo laling'ono la BPF lawonjezera chithandizo cha kusungirako ntchito komweko, komwe kumapereka kulumikizana kwa data kwa wogwirizira wa BPF.
    • Kuwerengera kwa kukumbukira kukumbukira ndi mapulogalamu a BPF kwasinthidwanso kwathunthu - wowongolera gulu waperekedwa m'malo mwa memlock rlimit kuti azisamalira kugwiritsa ntchito kukumbukira muzinthu za BPF.
    • Makina a BTF (BPF Type Format), omwe amapereka chidziwitso chowunika mu BPF pseudocode, amapereka chithandizo cha ma module a kernel.
    • Thandizo lowonjezera la shutdown (), renameat2 () ndi unlinkat () makina amayitana ku mawonekedwe a io_uring asynchronous I/O. Mukayimba io_uring_enter(), kuthekera kofotokozera nthawi yomaliza kwawonjezedwa (mutha kuwona kuthandizira mkangano kuti mutchule nthawi yomaliza pogwiritsa ntchito mbendera ya IORING_FEAT_EXT_ARG).
    • Zomangamanga za ia64 zomwe zimagwiritsidwa ntchito mu Intel Itanium processors zasunthidwa m'gulu la ana amasiye, zomwe zikutanthauza kuti kuyesa kwatha. Hewlett Packard Enterprise idasiya kuvomera kuyitanitsa zida zatsopano za Itanium, ndipo Intel adachita izi chaka chatha.
    • Thandizo la machitidwe ozikidwa pa zomangamanga za MicroBlaze zomwe siziphatikizapo gawo loyang'anira kukumbukira (MMU) zathetsedwa. Machitidwe oterewa sanawonekere m'moyo wa tsiku ndi tsiku kwa nthawi yaitali.
    • Pazomangamanga za MIPS, chithandizo cha kuyesa kwa codec chawonjezedwa pogwiritsa ntchito gcov.
    • Thandizo lowonjezera la mabasi othandizira kuti azilumikizana ndi zida zambiri zomwe zimaphatikiza magwiridwe antchito omwe amafunikira madalaivala osiyanasiyana (mwachitsanzo, makhadi a netiweki okhala ndi Ethernet ndi RDMA). Basi ikhoza kugwiritsidwa ntchito kuyika dalaivala wa pulayimale ndi yachiwiri ku chipangizo, nthawi zomwe kugwiritsa ntchito MFD (Multi-Function Devices) kumakhala kovuta.
    • Pazomangamanga za RISC-V, chithandizo chawonjezedwa pa makina ogawa kukumbukira a CMA (Contiguous Memory Allocator), omwe amakonzedwa kuti athe kugawa madera akuluakulu okumbukira pogwiritsa ntchito njira zosuntha zamasamba. Kwa RISC-V, zida zimagwiritsidwanso ntchito kuti zichepetse mwayi wopezeka /dev/mem ndikuganizira nthawi yosokoneza.
    • Pamakina a 32-bit ARM, chithandizo chawonjezedwa pa chida cha KASan (Kernel address sanitizer), chomwe chimathandizira kuzindikira zolakwika mukamagwira ntchito ndi kukumbukira. Kwa 64-bit ARM, kukhazikitsa KASan kwasinthidwa kugwiritsa ntchito ma tag a MTE (MemTag).
    • Mafoni owonjezera a epoll_pwait2() kuti alole kutha kwa nthawi ndi kulondola kwa nanosecond (epoll_wait call manipulates milliseconds).
    • Makina omanga tsopano akuwonetsa cholakwika poyesa kupanga ma module a kernel omwe chiphaso cha code sichimatanthauzidwa pogwiritsa ntchito MODULE_LICENSE () macro. Kuyambira pano, kugwiritsa ntchito EXPORT_SYMBOL() macro pama static function kungayambitsenso vuto la zomangamanga.
    • Thandizo lowonjezera pakujambula zinthu za GEM kuchokera pamtima zomwe zimagwiritsidwa ntchito pa I/O, zomwe zidapangitsa kuti zitheke kufulumizitsa ntchito ndi framebuffer pazomanga zina.
    • Kconfig yagwetsa chithandizo cha Qt4 (pamene ikusunga chithandizo cha Qt5, GTK ndi Ncurses).
  • Virtualization ndi Chitetezo
    • Thandizo la njira yoyankhira mwachangu yawonjezedwa ku seccomp () kuyimba kwadongosolo, komwe kumakupatsani mwayi wodziwa mwachangu ngati kuyimba kwina kumaloledwa kapena kuletsedwa kutengera mawonekedwe anthawi zonse omwe amalumikizidwa ndi ndondomekoyi, yomwe sikutanthauza kuthamanga. ndi BPF wothandizira.
    • Zida zophatikizika za kernel zopanga ndi kuyang'anira ma enclaves kutengera ukadaulo wa Intel SGX (Software Guard eXtensions), womwe umalola mapulogalamu kuti agwiritse ntchito ma code m'malo okumbukira obisika, omwe machitidwe ena onse alibe mwayi wofikira.
    • Monga gawo la njira yochepetsera mwayi wopezeka kwa ogwiritsa ntchito kupita ku MSR (kaundula wachitsanzo), kulembera ku regista ya MSR_IA32_ENERGY_PERF_BIAS, yomwe imakupatsani mwayi wosintha ma processor mphamvu yamagetsi ("normal", "performance", "powersave") , ndizoletsedwa.
    • Kutha kuletsa kusamuka kwa ntchito zofunika kwambiri pakati pa ma CPU kwasunthidwa kuchokera kunthambi ya kernel-rt yamakina anthawi yeniyeni.
    • Kwa machitidwe a ARM64, kuthekera kogwiritsa ntchito ma tag a MTE (MemTag, Memory Tagging Extension) kwa ma adilesi okumbukira onyamula ma sign awonjezedwa. Kugwiritsa ntchito kwa MTE kumayatsidwa pofotokoza njira ya SA_EXPOSE_TAGBITS mu sigaction() ndikukulolani kuti muwone kugwiritsa ntchito kolondola kwa zolozera kuti muletse kugwiritsa ntchito ziwopsezo zomwe zimayambitsidwa ndikupeza ma block blocks omasulidwa kale, kusefukira kwa bafa, kulowa musanayambe, ndikugwiritsa ntchito kunja kwa nkhani zamakono.
    • Onjezani magawo a "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", omwe amalola dm-verity subsystem kuti ayang'ane masiginecha a hashi a satifiketi zomwe zayikidwa muchinsinsi chachiwiri. M'malo mwake, kukhazikitsidwa kumakupatsani mwayi wotsimikizira osati ziphaso zokha zomwe zidapangidwa mu kernel, komanso ziphaso zomwe zimayikidwa pakugwira ntchito, zomwe zimapangitsa kuti zitheke kusinthira satifiketi popanda kukonzanso kernel yonse.
    • Linux yogwiritsa ntchito yawonjezera chithandizo cha kuyimitsidwa-kusagwira ntchito, komwe kumakupatsani mwayi kuti muyimitse chilengedwe ndikugwiritsa ntchito chizindikiro cha SIGUSR1 kuti mudzuke munjira yogona.
    • Makina a virtio-mem, omwe amakulolani kuti muwotche ndikuchotsa kukumbukira kumakina enieni, awonjezera chithandizo cha Big Block Mode (BBM), zomwe zimapangitsa kuti zitheke kusamutsa kapena kukumbukira midadada yayikulu kuposa kukula kwa kernel memory. block, zomwe ndizofunikira kukhathamiritsa VFIO mu QEMU.
    • Thandizo la CHACHA20-POLY1305 cipher lawonjezeredwa pakukhazikitsa kernel ya TLS.
  • Network subsystem
    • Pakuti 802.1Q (VLAN), kugwirizana kulephera kasamalidwe limagwirira (CFM, Connectivity Fault Management) yakhazikitsidwa, amene amalola inu kuzindikira, kutsimikizira ndi kudzipatula zolephera mu maukonde ndi pafupifupi milatho (Virtual Bridged Networks). Mwachitsanzo, CFM angagwiritsidwe ntchito kulekanitsa mavuto maukonde unatenga angapo odziimira mabungwe amene antchito okha ndi mwayi zipangizo zawo.
    • Thandizo lowonjezera la encapsulating mapaketi a protocol a SCTP mu mapaketi a UDP (RFC 6951), omwe amakulolani kugwiritsa ntchito SCTP pamanetiweki ndi omasulira adilesi akale omwe sagwirizana mwachindunji ndi SCTP, komanso kukhazikitsa SCTP pamakina omwe sapereka mwayi wolunjika ku IP. wosanjikiza.
    • Kukhazikitsidwa kwa ukadaulo wa WiMAX kwasunthidwa ndikukonzedwanso mtsogolomo ngati palibe ogwiritsa ntchito omwe akufuna WiMAX. WiMAX sagwiritsidwanso ntchito pamanetiweki apagulu, ndipo mu kernel woyendetsa yekha yemwe WiMAX angagwiritsidwe ntchito ndi woyendetsa wakale wa Intel 2400m. Thandizo la WiMAX linathetsedwa mu NetworkManager network configurator mu 2015. Pakadali pano, WiMax yatsala pang'ono kusinthidwa ndi matekinoloje monga LTE, HSPA+ ndi Wi-Fi 802.11n.
    • Ntchito yachitika kuti kukhathamiritsa magwiridwe antchito a TCP omwe akubwera mumayendedwe a zerocopy, i.e. popanda kukopera kowonjezera ku mabafa atsopano. Pazambiri zapakatikati, kuphimba ma kilobytes makumi kapena mazana angapo, kugwiritsa ntchito zerocopy m'malo mwa recvmsg() ndikothandiza kwambiri. Mwachitsanzo, zosintha zomwe zakhazikitsidwa zidapangitsa kuti ziwonjezeke bwino pakukonza magalimoto amtundu wa RPC ndi mauthenga a 32 KB mukamagwiritsa ntchito zerocopy ndi 60-70%.
    • Onjezani mafoni atsopano a ioctl() kuti apange maulalo a netiweki omwe amalumikizana ndi maulalo angapo a PPP. Kuthekera komwe kukuyembekezeka kumathandizira kuti mafelemu asunthe kuchokera ku njira imodzi kupita ku ina, mwachitsanzo kuchokera ku PPPoE kupita ku gawo la PPPoL2TP.
    • Kuphatikizika pakati pa MPTCP (MultiPath TCP), kukulitsa kwa protocol ya TCP yokonzekera kugwiritsa ntchito kulumikizana kwa TCP ndi kutumiza mapaketi nthawi imodzi m'njira zingapo kudzera pamaneti osiyanasiyana olumikizidwa ndi ma adilesi osiyanasiyana a IP. Kutulutsidwa kwatsopanoku kumabweretsa chithandizo cha njira ya ADD_ADDR yotsatsa ma adilesi a IP omwe atha kulumikizidwa powonjezera zotuluka zatsopano paulumikizidwe womwe ulipo wa MPTCP.
    • Anawonjezera kuthekera kosintha zochita pamene bajeti yovotera yolumikizana ipitilira (kuvota kotanganidwa). Mawonekedwe a SO_BUSY_POLL omwe analipo kale amatanthauza kusintha kukhala softirq bajeti ikatha. Pamapulogalamu omwe akuyenera kupitiliza kugwiritsa ntchito kuvota, njira yatsopano SO_PREFER_BUSY_POLL iperekedwa.
    • IPv6 imagwiritsa ntchito njira za SRv6 End.DT4 ndi End.DT6, zomwe zimagwiritsidwa ntchito popanga anthu ambiri IPv4 L3 VPNs ndi VRF (Virtual routing and forwarding) zipangizo.
    • Netfilter inagwirizanitsa kukhazikitsidwa kwa mawu osankhidwa, zomwe zinapangitsa kuti zitheke kutchula mawu angapo pa chinthu chilichonse cha mindandanda.
    • Ma API awonjezedwa ku stack 802.11 opanda zingwe kuti akonze malire a mphamvu za SAR, komanso magawo a AE PWE ndi HE MCS. Dalaivala wa Intel iwlwifi wawonjezera chithandizo cha 6GHz (Ultra High Band). Dalaivala wa Qualcomm Ath11k wawonjezera thandizo laukadaulo wa FILS (Fast Initial Link Setup, wokhazikika ngati IEEE 802.11ai), womwe umakupatsani mwayi wochotsa kuchedwa koyendayenda pakusamuka kuchokera kumalo ena kupita kwina.
  • Zida
    • Dalaivala wa amdgpu amapereka chithandizo kwa AMD "Green Sardine" APU (Ryzen 5000) ndi "Dimgrey Cavefish" GPU (Navi 2), komanso chithandizo choyambirira cha AMD Van Gogh APU yokhala ndi Zen 2 core ndi RDNA 2 GPU (Navi 2). Thandizo lowonjezera la zozindikiritsa zatsopano za Renoir APU (zotengera Zen 2 CPU ndi Vega GPU).
    • Dalaivala wa i915 wa makadi amakanema a Intel amathandizira ukadaulo wa IS (Integer makulitsidwe) ndikukhazikitsa fyuluta yowonjezera sikelo poganizira za ma pixel oyandikana nawo (Kutanthauzira kwapafupi koyandikana) kuti adziwe mtundu wa ma pixel osowa. Thandizo la makhadi a discrete a Intel DG1 lakulitsidwa. Thandizo laukadaulo wa "Big Joiner" lakhazikitsidwa, lomwe lakhalapo kuyambira tchipisi ta Ice Lake / Gen11 ndipo limalola kugwiritsa ntchito transcoder imodzi kukonza mitsinje iwiri, mwachitsanzo, potulutsa chophimba cha 8K kudzera pa DisplayPort imodzi. Onjezani njira yosinthira mosagwirizana pakati pa ma buffer awiri mu memory memory (async flip).
    • Dalaivala wa nouveau wawonjezera chithandizo choyambirira cha NVIDIA GPUs kutengera Ampere microarchitecture (GA100, GeForce RTX 30xx), mpaka pano ali ndi zida zowongolera makanema.
    • Thandizo lowonjezera la protocol ya 3WIRE yomwe imagwiritsidwa ntchito mu mapanelo a LCD. Thandizo lowonjezera la mapanelo a novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ndi ABT Y030XX067A 3.0. Payokha, titha kuzindikira kuthandizira kwa mafoni amtundu wa OnePlus 6 ndi 6T, zomwe zidapangitsa kuti zitheke kukonza kutsitsa kernel yosasinthika pazida.
    • Thandizo lowonjezera la Intel woyamba discrete USB4 host controller, Maple Ridge.
    • Zowonjezera zothandizira Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ndi XCVR, Realtek RT715 ndi Qualcomm SM8250 audio codecs.
    • Zowonjezera zothandizira ma board a ARM, zida ndi nsanja: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M 730PCN 382M98, Arm3236, Arm750, Arm 8, 64 Nuvo, 30 Nuvo Mikrotik yochokera pa Marvell Prestera XNUMXDXXNUMX, maseva okhala ndi Nuvoton NPCMXNUMX BMC, Kontron i.MXXNUMXM Mini, Espressobin Ultra, β€œTrogdor” Chromebook, Kobol HeliosXNUMX, Engicam PXXNUMX.Core.
    • Thandizo lopangidwira la masewera a masewera a Ouya kutengera NVIDIA Tegra 3.

Nthawi yomweyo, Latin American Free Software Foundation idapanga mtundu wa 5.11 kernel yaulere - Linux-libre 5.11-gnu, yochotsedwa pazinthu za firmware ndi madalaivala okhala ndi zida zopanda ufulu kapena magawo a code, kukula kwake kuli kochepa. ndi wopanga. Kutulutsidwa kwatsopano kumayeretsa madalaivala a qat_4xxx (crypto), lt9611uxcm (dsi/hdmi mlatho), ccs/smia++ (sensor), ath11k_pci, nxp audio transceiver ndi mhi pci controller. Kusinthidwa kachidindo koyeretsa ma blob mu madalaivala ndi ma subsystems amdgpu, btqca, btrtl, btsb, i915 csr. Ma blobs atsopano olemala mu m3 rproc, idt82p33 ptp wotchi ndi qualcomm arm64.

Source: opennet.ru

Kuwonjezera ndemanga