Linuxi kernel 5.11 vÀljalase

Kaks kuud kestnud arendustööd, Linus Torvalds esitles Linux 5.11 tuuma vĂ€ljaannet. Olulisimad muudatused hĂ”lmavad: Intel SGX aedade toetamist, uut sĂŒsteemikutsungite haaramise mehhanismi, virtuaalbusse auxiliary, moodulite koostamise keelamist ilma MODULE_LICENSE(), kiire sĂŒsteemikutsungite filtreerimise reĆŸiimi seccomp-s, ia64 arhitektuuri toetuse lĂ”petamist, WiMAX tehnoloogia ĂŒleviimist „staging“ haru ning vĂ”imalust SCTP-d UDP-s kapseldada.

Uude versiooni on lisatud 15480 parandust 1991 arendajalt, patĆĄi suurus on 72 MB (muudatused hĂ”lmasid 12090 faili, lisatud on 868025 koodirida ja eemaldatud 261456 rida). Umbes 46% kĂ”igist 5.11 muudatustest on seotud seadmete draiveritega, umbes 16% muudatustest puudutab riistvara-spetsiifilise koodi vĂ€rskendamist, 13% on seotud vĂ”rguĂŒhenduse mÀÀraga, 3% -ga failisĂŒsteemide ja 4% tuuma siseste alamsĂŒsteemidega.

Peamised uuendused:

  • DiskisĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
    • Btrfs-i on lisatud mitu monteerimisvalikut, mida saab kasutada andmete taastamiseks kahjustatud failisĂŒsteemist: „rescue=ignorebadroots“ monteerimiseks, hoolimata mĂ”ningate juurkataloogide kahjustustest (extent, uuid, data reloc, device, csum, free space), „rescue=ignoredatacsums“ andmete kontrollsumma kontrollimise keelamiseks ja „rescue=all“, et samaaegselt aktiveerida reĆŸiimid ‘ignorebadroots’, ‘ignoredatacsums’ ja ‘nologreplay’. Monteerimise valik „inode_cache“ toetamine on lĂ”petatud, mis varem oli kuulutatud aegunuks. On tehtud ettevalmistused koodi toetamiseks metatee ja andmete plokkide jaoks, mille suurus on vĂ€iksem kui lehe suurus (PAGE_SIZE), samuti tsoonitud ruumide eraldamise reĆŸiimi toetamiseks. Puhastamata (Direct IO) pĂ€ringud on viidud iomap infrastruktuuri. Teatud operatsioonide jĂ”udlust on optimeeritud, mĂ”nel juhul vĂ”ib kiirus tĂ”usta kĂŒmnete protsentide vĂ”rra.
    • XFS-is on rakendatud lipp „needsrepair“, mis signaalib taastamise vajadust. Kui see lipp on seadistatud, ei saa failisĂŒsteemi monteerida, kuni lipp ei ole utiliit xfs_repair abil eemaldatud.
    • Ext4-s on pakutud ainult vigade parandusi ja optimeerimist, samuti on kood puhastatud.
    • Korduva ekspordi lubamine failisĂŒsteemidele, mis on monteeritud NFS-i kaudu (st NFS-i kaudu monteeritud sektsioon on nĂŒĂŒd vĂ”imalik ekspordida NFS lĂ€bi ja kasutada vahepealse vahemĂ€luna).
    • SĂŒsteemi kutse close_range(), mis vĂ”imaldab protsessil korraga sulgeda kogu vahemiku avatud failide deskriptoritest, on lisatud valik CLOSE_RANGE_CLOEXEC deskriptorite sulgemiseks close-on-exec reĆŸiimis.
    • FailisĂŒsteemi F2FS on lisatud uued kutseye ioctl(), mis vĂ”imaldavad kasutaja ruumist hallata, millised failid salvestatakse kokku surutud vormis. Lisatud on montaaĆŸi vĂ”imalus «compress_mode=», et valida, kus asub kompressiooni haldamise kĂ€itaja — tuuma poolel vĂ”i kasutaja ruumis.
    • Overlayfs'i montaaĆŸ on saanud vĂ”imalikuks privileegideta protsesside poolt, kasutades eraldi kasutaja identifikaatorite ruumi (user namespace). Rakendatud on tĂ€ielik koodiaudit, et kontrollida turvamudeli vastavust. Overlayfs'is on lisatud ka vĂ”imalus kĂ€ivitada koopiaid failisĂŒsteemi piltidest, lubades valikulise UUID kontrollimise vĂ€ljalĂŒlitamist.
    • FailisĂŒsteemi Ceph on lisatud protokolli msgr2.1 tugi, mis vĂ”imaldab AES-GCM algoritmi kasutamist andmete edastamisel krĂŒpteeritud kujul.
    • Moodulis dm-multipath on rakendatud IO affinity arvestamine, kui valitakse sisendi/vĂ€ljundi pĂ€ringute marsruuti.
  • MĂ€lu ja sĂŒsteemiteenused
    • Lisatud on uus sĂŒsteemi kutsete katte mehhanism, mis pĂ”hineb prctl() funktsioonil ja vĂ”imaldab kasutaja ruumis genereerida erandeid teatud sĂŒsteemi kutse kutsumise korral ja simuleerida selle tĂ€itmist. Antud funktsionaalsus on nĂ”utud Wine'i ja Proton'i jaoks Windowsi sĂŒsteemi kutsete simuleerimiseks, mis on vajalik mĂ€ngude ja rakenduste ĂŒhilduvuse tagamiseks, mis tĂ€idavad sĂŒsteemi kutseid otse Windows API-d mööda (nĂ€iteks autoriseerimata kasutamise kaitsmiseks).
    • Kasutaja pettuse failist userfaultfd(), mis on ette nĂ€htud lehekĂŒlje vigade (mĂ€lu mittejaotatud lehekĂŒlgedele juurdepÀÀs) kĂ€sitlemiseks kasutaja ruumis, on saanud vĂ”imaluse keelata tuuma tasemel tekkivate erandite töötlemise, et raskendada teatud haavatavuste Ă€rakasutamist.
    • BPF alamsĂŒsteemi on lisatud toetus ĂŒlesande kohalike andmete salvestamise (task-local storage) jaoks, mis seob andmed konkreetse BPF töötlejaga.
    • BPF programmide mĂ€lu kasutamise jĂ€lgimise sĂŒsteem on tĂ€ielikult ĂŒmber tehtud — mĂ€lu kasutamise haldamiseks BPF objektides on ette nĂ€htud cgroup kontroller, mitte memlock rlimit.
    • BTF (BPF TĂŒĂŒpformaat) mehhanism, mis annab teavet BPF pseudokoodi tĂŒĂŒpide kontrollimiseks, toetab nĂŒĂŒd sĂŒdamikku moduleid.
    • AsĂŒnkroonse sisendi ja vĂ€ljundi io_uring liidesesse on lisatud sĂŒsteemikĂ”nede shutdown(), renameat2() ja unlinkat() tugi. io_uring_enter() kutse puhul on lisatud vĂ”imalus mÀÀrata ajutine ooteaeg (ajutise vÀÀrtuse toetuse kontrollimiseks vĂ”ib kasutada lippu IORING_FEAT_EXT_ARG).
    • Intel Itaniumi protsessorites rakendatud ia64 arhitektuur on kategooriasse "orphaned" viidud, mis tĂ€hendab hoolduse lĂ”petamist. Hewlett Packard Enterprise lĂ”petas Itaniumi uue riistvara tellimiste vastuvĂ”tmise, samas kui Intel tegi seda juba eelmisel aastal.
    • MicroBlaze arhitektuuril pĂ”hinevate sĂŒsteemide tugi, millel puudub mĂ€lu valitsemise moodul (MMU), on lĂ”petatud. Sellised sĂŒsteemid ei ole juba pikka aega levinud.
    • MIPS arhitektuuri jaoks on lisatud koodi katvuse testimise tugi gcov utiliidi abil.
    • Lisatud on tĂ€iendava busside toe tugi, et suhelda mitmeotstarbeliste seadmetega, mis vajavad erinevaid draivereid (nt Etherneti ja RDMA toe omavad vĂ”rgukaardid). Buss vĂ”ib seadmest mÀÀrata esmase ja teise draiveri, kus MFD (Multi-Function Devices) alamsĂŒsteemi kasutamine on keeruline.
    • RISC-V arhitektuuri jaoks on lisatud CMA (Contiguous Memory Allocator) mĂ€luhalduse sĂŒsteemi tugi, mis on optimeeritud suurte pidevate mĂ€lupiirkondade eraldamiseks mĂ€lulehtede liikumise tehnikaga. RISC-V jaoks on samuti rakendatud juurdepÀÀsumeetmed /dev/mem ja katkestuste töötlemise aja jĂ€lgimise jaoks.
    • 32-bitiste ARM sĂŒsteemide jaoks on lisatud KASan (Kernel address sanitizer) silumise tööriista tugi, mis tagab mĂ€luhalduse vigade leidmise. 64-bitise ARM rakenduse puhul on KASan rakendatud MTE (MemTag) siltide kasutamisele.
    • Lisatud on sĂŒsteemikĂ”ne epoll_pwait2(), mis vĂ”imaldab kasutada nanoskeemide tĂ€psusega ajutisi ooteseisundeid (epoll_wait kutse manipuleerib millisekunditega).
    • Ehitusprotsessis on tagatud vea vĂ€ljund, kui proovida ehitada tuumamooduleid, mille puhul makro MODULE_LICENSE() ei ole mÀÀranud koodi litsentsi. Viga ehituses kutsutakse nĂŒĂŒd esile ka makro EXPORT_SYMBOL() kasutamise puhul staatiliste funktsioonide jaoks.
    • Lisatud tugi GEM-objektide kaardistamiseks mĂ€lu seest, mis on seotud sisendi/vĂ€ljundiga, vĂ”imaldades kiiruselt parandada framebufferi tööd mĂ”nedes arhitektuurides.
    • Kconfigis on peatatud Qt4 tugi (Qt5, GTK ja Ncurses tugi on jĂ€etud alles).
  • Virtualiseerimine ja turvalisus
    • SĂŒsteemikutsesse seccomp() on lisatud kiire reageerimise reĆŸiimi tugi, mis vĂ”imaldab vĂ€ga kiiresti tuvastada, kas kindlat sĂŒsteemikutsumist on lubatud vĂ”i keelatud, tuginedes protsessile kinnitatud volituste tabelile (constant-action bitmap), mis ei nĂ”ua BPF-kĂ€itleja kĂ€ivitamist.
    • Integreeritud tuuma komponendid Intel SGX (Software Guard eXtensions) pĂ”hjal anklaide loomise ja haldamise jaoks, mis vĂ”imaldavad rakendustel kĂ€itada koodi isoleeritud krĂŒpteeritud mĂ€lu piirkondades, millele ĂŒlejÀÀnud sĂŒsteemi ligipÀÀs on piiratud.
    • EesmĂ€rgiga piirata kasutajaruumi juurdepÀÀsu MSR (model-specific register) registritele on keelatud kirjutamine registrisse MSR_IA32_ENERGY_PERF_BIAS, mis vĂ”imaldab muuta protsessori energiatĂ”hususe reĆŸiimi ("normal", "performance", "powersave").
    • Reaalajas sĂŒsteemide kernel-rt harust on kolitud vĂ”imalus kĂ”rge prioriteetsete ĂŒlesannete rĂ€ndluse keelamiseks CPU vahel.
    • ARM64 sĂŒsteemidele on lisatud vĂ”imalus rakendada MTE (MemTag, Memory Tagging Extension) silte signaalide mĂ€lu aadressidele. MTE kasutuselevĂ”tt toimub by SA_EXPOSE_TAGBITS valiku mÀÀramisega sigaction() kaudu ja vĂ”imaldab korraldada nĂ€itajate korrektse kasutamise kontrollimist, et vĂ€ltida haavatavust, mis tuleneb juba vabastatud mĂ€lublokkide, puhverĂŒlekatete, enne algatamist toimuva juurdepÀÀsudega ja vĂ€ljaspool praegust konteksti kasutamisega.
    • Lisatud parameeter "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", mis vĂ”imaldab dm-verity alamsĂŒsteemil kontrollida sertifikaatide hĂ€sse, mis asuvad teises vĂ”tmehoidlas (keyring). Praktikas vĂ”imaldab seadistus verifitseerida mitte ainult tuuma sisse ehitatud sertifikaate, vaid ka töö ajal laaditud sertifikaate, mis vĂ”imaldab sertifikaate uuendada ilma kogu tuuma uuendamata.
    • User-mode Linux'is on lisatud suspend-to-idle reĆŸiimi tugi, mis vĂ”imaldab keskkonda kĂŒlmutada ja kasutada SIGUSR1 signaali Ă€rkamiseks.
    • Virtio-mem mehhanismi, mis vĂ”imaldab sooja ĂŒhendamise ja eemalduse mĂ€lu virtuaalsetes masinates, on lisatud suuri plokkide reĆŸiimi (BBM, Big Block Mode) tugi, vĂ”imaldades edastada vĂ”i vĂ”tta mĂ€lu plokkides, mis ĂŒletavad tuuma ploki suuruse, mis on vajalik VFIO optimeerimiseks QEMU-s.
    • Ytktas TLS'i rakendusse on lisatud CHACHA20-POLY1305 krĂŒptimise tugi.
  • VĂ”rgusĂŒsteem
    • 802.1Q (VLAN) jaoks on rakendatud ĂŒhenduse rikke haldamise mehhanism (CFM, Connectivity Fault Management), vĂ”imaldades tuvastada, kinnitada ja isoleerida vigu virtuaalsetes sildades (Virtual Bridged Networks). NĂ€iteks vĂ”ib CFM-i kasutada probleemide lokaliseerimiseks vĂ”rkudes, mis hĂ”lmavad mitmeid sĂ”ltumatuid organisatsioone, kelle töötajad pÀÀsevad juurde ainult oma seadmetele.
    • On lisatud SCTP protokolli pakettide kapseldamise tugi UDP-pakettides (RFC 6951), mis vĂ”imaldab kasutada SCTP vanades aadressitĂ”lketesse, mis ei toeta SCTP-d otse, ning rakendada SCTP-d sĂŒsteemides, mis ei paku otsest juurdepÀÀsu IP tasemele.
    • WiMAX tehnoloogia rakendus on viidud staging'usse ja tulevikus on plaanis see eemaldada, kui ei leita kasutajaid, kellele WiMAX vajalik on. WiMAXi ei kasutata enam avalikes vĂ”rkudes ning ainus WiMAXiga ĂŒhendatav draiver tuumas on vananenud Intel 2400m draiver. NetworkManageri vĂ”rgu seadistajas peeti WiMAXi toetus 2015. aastal lĂ”petatuks. Praegu on WiMAX peaaegu tĂ€ielikult asendatud selliste tehnolooge nagu LTE, HSPA+ ja Wi-Fi 802.11n.
    • On tehtud tööd sissetuleva TCP liikluse töötlemise optimeerimiseks zerocopy reĆŸiimis, st ilma tĂ€iendava kopeerimiseta uutesse puhvrisse. Keskmise suurusega liikluse jaoks, mis hĂ”lmab kĂŒmneid vĂ”i mitu sada kilobaiti andmeid, osutub zerocopy rakendamine recvmsg() asemel mĂ€rgatavalt efektiivsemaks. NĂ€iteks on ellu viidud muudatused vĂ”imaldanud suurendada RPC stiilis liikluse töötlemise efektiivsust 32 KB sĂ”numitega zerocopy rakendamisel 60-70%.
    • Lisatud on uued ioctl() kutsed, et luua vĂ”rgu sildu, mis hĂ”lmavad mitut PPP kanalit. Pakutav funktsionaalsus vĂ”imaldab kaadritel liikuda ĂŒhelt kanalilt teisele, nĂ€iteks PPPoE-st PPPoL2TP sessioonile.
    • MPTCP (MultiPath TCP) tuuma integreerimine jĂ€tkub, mis on TCP protokolli laiendus TCP-ĂŒhenduse töö korraldamiseks, edastades pakette samaaegselt mitmete marsruutide kaudu, mis on seotud erinevate IP-aadressidega. Uues vĂ€ljaandes on rakendatud toetust ADD_ADDR valikule, et kuulutada vĂ€lja saadaval olevad. IP-aadresse ĂŒhenduspunkid, millega on vĂ”imalik ĂŒhendust luua, kui lisanduvad uued vood MPTCP-ĂŒhendusele.
    • Lisatud on vĂ”imalikud seadistused, kuidas kĂ€ituda, kui ĂŒhenduste polling'i eelarve ĂŒletatakse (busy-polling). Varasemalt saadaval olnud SO_BUSY_POLL reĆŸiim tĂ€hendas ĂŒleminekut softirq'le, kui eelarve oli ammendatud. Rakendustele, mis vajavad polling'ut jĂ€tkata, on pakutud uut valikut SO_PREFER_BUSY_POLL.
    • IPv6-s on rakendatud SRv6 End.DT4 ja End.DT6 reĆŸiimide toetust, mida kasutatakse mitme kasutaja IPv4 L3 ja VRF (Virtuaalne suunamine ja edasiandmine) seadmete loomiseks. VPN JaotusvĂ”rk 802.11 on lisatud API, et seadistada SAR-iga seotud vĂ”imsuse piiranguid, samuti AE PWE ja HE MCS parameetreid. Intel iwlwifi draiverisse on lisatud toetus 6GHz (Ultra High Band) sagedusvahemikule. Qualcomm Ath11k draiverisse on lisatud tehnoloogia FILS (Fast Initial Link Setup, standardiseeritud kui IEEE 802.11ai) kiire ĂŒhenduse seadistamiseks, mis vĂ”imaldab vĂ€ltida viivitusi rĂ€ndamisel, kui liikuda ĂŒhest pÀÀsupunktist teise.
    • Netfilteris on ĂŒhtlustatud set-avaldiste teostus, mis vĂ”imaldab mÀÀrata mitu avaldist iga set-loendi elementi jaoks.
    • 802.11 traadita protokolli on lisatud API-d vĂ”imsuse SAR piirangute seadistamiseks ning AE PWE ja HE MCS parameetrite seadistamiseks. Intel iwlwifi draiverisse on lisatud tugi 6GHz (Ultra High Band) sagedusele. Qualcomm Ath11k draiverisse on lisatud FAST (Fast Initial Link Setup, standardiseeritud kui IEEE 802.11ai), mis vĂ”imaldab vĂ€hendada viivitusi rĂ€ndamisel, kui liikuda ĂŒhelt pÀÀsupunktilt teisele.
  • Varustus
    • amdgpu draiverisse on lisatud toetus AMD APU „Green Sardine” (Ryzen 5000) ja GPU „Dimgrey Cavefish” (Navi 2) jaoks ning samuti esmane toetus APU AMD Van Gogh, millel on Zen 2 tuum ja RDNA 2 GPU (Navi 2). Lisatud on uus APU Renoir identifikaatorite toetus (Zen 2 CPU ja Vega GPU baasil).
    • Intel i915 draiveris on rakendatud IS (Integer scaling) tehnoloogia tugi ning naaberkudede pikslite seisundit arvesse vĂ”ttev suurendamisfilter (Nearest-neighbor interpolatsioon) kadunud pikslite vĂ€rvi mÀÀramiseks. Laienenud on Intel DG1 diskreetsete kaartide tugi. On rakendatud "Big Joiner" tehnoloogia tugi, mis on olemas alates Ice Lake / Gen11 kiibist ja vĂ”imaldab kasutada ĂŒhte transkodeerijat kahe voogesituse töötlemiseks, nĂ€iteks 8K ekraani vĂ€ljastamiseks ĂŒhe DisplayPorti kaudu. Lisatud on asĂŒnkroonne vahetamine kahe videomĂ€lu puuti vahel (async flip).
    • Nouveau draiverisse on lisatud esialgne NVIDIA GPU tugi "Ampere" mikroarhitektuuril (GA100, GeForce RTX 30xx), mis on praegu piiratud videoreĆŸiimide haldamise vahenditega.
    • On lisatud 3WIRE protokolli tugi, mida kasutatakse LCD-paneelides. Lisatud on tugi paneelidele novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ja ABT Y030XX067A 3.0. Eraldi tasub mĂ€rkida OnePlus 6 ja 6T nutitelefonide paneeli toe, mis vĂ”imaldas korraldada laadimist modifitseerimata kerniga seadmetes.
    • On lisatud esimese diskreetse USB4 host-kontrolleri Intel Maple Ridge tugi.
    • On lisatud toode Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ja XCVR, Realtek RT715 ning Qualcomm SM8250 helikodeerijate tugi.
    • On lisatud ARM platvormide, seadmete ja platvormide tugi: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, Nuvoton NPCM730, Marvell Armada 382, Mikrotik, mis pĂ”hineb Marvell Prestera 98DX3236, serverid, millel on Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios64, Engicam PX30.Core.
    • On sisse ehitatud tugi mĂ€ngukonsoolile Ouya, mis pĂ”hineb NVIDIA Tegra 3-l.

Samas on Ladina-Ameerika Vaba Tarkvara Sihtasutus vĂ€lja töötanud tĂ€iesti vaba yadi Linux 5.11 versiooni — Linux-libre 5.11-gnu, mis on puhastatud mittevabade komponentide vĂ”i koodilĂ”ikude sisaldavate firmware'ide ja draiverite elementidest, millest kasutusala on tootja poolt piiratud. Uues vĂ€ljaandes on draiverite puhastamine tehtud qat_4xxx (crypto), lt9611uxcm (dsi/hdmi sild), ccs/smia++ (sensor), ath11k_pci, nxp audio transceiver ja mhi pci kontrolleri jaoks. On uuendatud draiverite ja alamkogumite blobide puhastamise koodi amdgpu, btqca, btrtl, btusb, i915 csr. On keelatud uued blobid m3 rproc, idt82p33 ptp kella ja qualcomm arm64 osas.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster