Linuxi tuuma 5.13 vÀljaanne.

Kaks kuud kestnud arendustööst pĂ€rast esitleb Linus Torvalds Linuxi tuuma versiooni 5.13. Olulisemate muudatuste seas on: EROFS failisĂŒsteem, algne tugi Apple M1 kiipidele, cgroup-kontroller "misc", toetahtmine /dev/kmemist, uute Intel ja AMD GPU-de tugi, vĂ”imalus kutsuda tuuma funktsioone otse BPF-programmidest, tuuma steki randomiseerimine iga sĂŒsteemi kutsumise korral, vĂ”imalus koostada Clangis CFI (Control Flow Integrity) kaitsega, Landlock LSM-moodul protsesside tĂ€iendavate piirangute seadmiseks, virtuaalne heliseade virtio alusel ja multi-shot reĆŸiim io_uring'is.

Uues versioonis on vastu vĂ”etud 17189 parandust 2150 arendajalt (kĂ”ige suurem ajaloos), plaastri suurus on 60 MB (muudatused puudutasid 12996 faili, juurde on lisatud 794705 koodirida, eemaldatud on 399590 rida). Umbes 47% kĂ”ikidest 5.13 versioonis esitatud muudatustest on seotud seadme draiveritega, umbes 14% muudatustest puudutab riistvaraarhitektuurile spetsiifilise koodi uuendusi, 13% on seotud vĂ”rgu virnastamisega, 5% - ga failisĂŒsteemidega ja 4% tuuma siseste sĂŒsteemidega.

Peamised uuendused:

  • DiskisĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
    • Lisatud on EROFS (Enhanced Read-Only File System) failisĂŒsteemi tugi, mille on vĂ€lja pakkunud Huawei kasutamiseks ainult lugemise reĆŸiimis osades. Uus failisĂŒsteem toetab andmete salvestamist tihendatud kujul ja nĂ€itab vĂ”rreldes Ext4-ga sarnast jĂ”udlust jĂ€rjestikuste lugemistoimingute tegemisel, kuid ĂŒletab Ext4 mitu korda juhuslikus andmete juurdepÀÀsus. NĂ€iteks tihendustasemega 4 ja testimisel serveris tihendusega HDD-l ĂŒletas EROFS failisĂŒsteem Ext4 juhuslikest lugemistest enam kui kuus korda, samas kui Android-smartfoni Flashi kasutamisel peaaegu kolm korda. Nagu teistes lugemiseks mĂ”eldud failisĂŒsteemides, on EROFS-i struktuur oluliselt lihtsustatud, loobudes rakendamisel mĂ”nest metadata valdkonnast, nagu vaba plokkide bitikaart.
    • SMB3 failisĂŒsteemist on rakendatud "rasize" mountimise valik, mille abil saab mÀÀrata ennustava lugemise (readahead) akna suuruse, et tĂ”sta jĂ”udlust teatud koormuste korral.
    • ext4 failisĂŒsteemis on tagatud kataloogielementide ĂŒle kirjutamine failide kustutamisel. ext4-s on samuti lubatud samal ajal kasutamine mitte-tĂ€heandmete reĆŸiimis ja krĂŒpteerimist.
    • FS exFAT on lisatud toetamine ioctl-kĂ€sku FITRIM (discard), et teavitada seadet mittekasutatavatest plokkidest FS-is.
    • FS XFS on lisatud vĂ”imalus eraldada ruumi viimases jaotamisgrupis, mis on esimene samm olemasolevate XFS failisĂŒsteemi partitsioonide suuruse vĂ€hendamise funktsiooni rakendamiseks.
    • Lisatud uus sĂŒsteemikĂ”ne quotactl_path, mis erineb quotactl-ist, kuna see vĂ”imaldab hallata kvoote mitte lĂ€bi seadme spetsiaalfaili, vaid osutades FS-i mountimispunktile.
    • Fanotify mehhanismis on laienenud vĂ”imalused, mis on kergelt kasutatavad mitteprivilegeeritud kasutajatele. NĂ€iteks inotify-taoliste Ă”igusteta SYS_CAP_ADMIN-ga on nĂŒĂŒd vĂ”imalik jĂ€lgida avamise, juurdepÀÀsu, muutmise ja sulgemise sĂŒndmusi failide ja kaustade jaoks.
  • MĂ€lu ja sĂŒsteemiteenused
    • Lisatud uus cgroup kontroller - 'Misc' (CONFIG_CGROUP_MISC), mille eesmĂ€rk on piirata ja jĂ€lgida skalaarsed ressursse, mida saab hallata lihtsa loenduri abil ja piirata, seadistades maksimaalsed vÀÀrtused. Uue cgroup kontrolleri rakendamise nĂ€iteks tuuakse esile aadressiruumi identifikaatorite haldamine, mida kasutatakse AMD SEV (Secure Encrypted Virtualization) mehhanismis.
    • AsĂŒnkroonse sisendi/vĂ€ljundi io_uring liidese POLL pĂ€ringute jaoks on rakendatud 'multi-shot' reĆŸiim, kus POLL ei eemaldata sĂŒndmuse genereerimise jĂ€rel, vaid jÀÀb aktiivseks ja vĂ”ib genereerida mitu sĂŒndmust.
    • Reaalajas tuumikuharu kood on edastatud, tagades tuumade voogude siseneva katkestuse töötlemise, mis vĂ”imaldab neid kĂ”rge prioriteediga protsesside poolt ĂŒletada.
    • Lisatud sisemine raamatukogu netfs, kuhu on viidud tĂŒĂŒpilised funktsioonid, mida kasutatakse vĂ”rgufailisĂŒsteemides.
    • PowerPC arhitektuurile on rakendatud ajaruumi nimed (time namespaces), mis vĂ”imaldavad konteineris kasutada oma aega.
    • RISC-V arhitektuurile on rakendatud toetust kexec, crash dump, kprobe ja tuuma kĂ€ivitamiseks kohapeal (execute-in-place, ĂŒlesande teostamine algallikalt, ilma RAM-i kopeerimata).
    • BPF-jĂ€lgimisprogrammides on lisatud vĂ”imalus kasutada ĂŒlesande-local storage, mis tagab suurema jĂ”udluse, seostades andmed konkreetse BPF- töötlejaga.
    • Uus mehhanism on rakendatud tuumafunktsioonide otse kutsumiseks BPF-programmides, mida on juba kasutatud TCP ĂŒlekande algoritmide teostamiseks. Turvalisuse tagamiseks peavad kutsutavad funktsioonid olema selgelt valgete nimekirjades mÀÀratletud.
    • Funktsioonide jĂ€lgimise sĂŒsteemile ftrace on lisatud funktsioon func-no-repeats, mis vĂ”imaldab kuvada jĂ€rjestikuseid funktsioonikĂ”nesid loendina.
    • Kasutajafunktsiooni userfaultfd(), mis on mĂ”eldud lehe vigade (mĂ€luprogrammide, millele ei ole eraldatud lehti) kĂ€sitlemiseks, on lisatud osa vigade juhtimise vĂ”imalus, kus leht on olemas, kuid lehteede tabelis ei ole sissekannet.
    • Toetamine erifailile /dev/kmem, mis vĂ”imaldab pÀÀseda juurde kogu tuuma aadressiruumi, on lĂ”petatud. See fail on tunnistatud aegunuks ja pĂ”hjustab turvaprobleeme.
    • Intel'i kiipidele on rakendatud uus jahutuse juhtimise draiver, mis vĂ”imaldab vĂ€hendada protsessori sagedust ĂŒlekuumenemise ohu korral. Erinevalt olemasolevast TCC (Thermal Control Circuit) aktiveerimise mehhanismist, manipuleerib uus draiver suhteliste vÀÀrtustega, st vĂ”ib vĂ€hendada sagedust enne temperatuurikriitilise piiri ĂŒletamist.
  • Virtualiseerimine ja turvalisus
    • Komplekti on lisatud LSM-modul, mis tagab rakenduste isolatsiooni Landlock kaudu, piirates protsessigrupi suhtlemist vĂ€liskeskkonnaga. See on loodud silmas pidades selliseid isolatsioonimehhanisme, nagu XNU Sandbox, FreeBSD Capsicum ja OpenBSD Pledge/Unveil. JuurdepÀÀsu loogika mÀÀratakse BPF-programmi abil, kuid erinevalt seccomp-bpf'ist ei filtreeri Landlock sĂŒsteemi kĂ”nesid ja nende argumente, vaid vĂ”imaldab piirata tuuma objektide, nĂ€iteks failihalduse hierarhiate kasutamist. Landlock vĂ”imaldab igal protsessil, sealhulgas privileegideta protsessidel, end kindlalt isoleerida ja vĂ€ltida isolatsiooni ĂŒletamist, kui avastatakse haavatavusi vĂ”i kahjulikke muudatusi rakendustes. Landlock vĂ”imaldab protsessil luua kaitstud isoleeritud keskkondi, mis on loodud olemasolevate juurdepÀÀsu haldussĂŒsteemide tĂ€iendava kihina.
    • Lisatud vĂ”imalus teha juhuslikke nihkeid kerneli virnas sĂŒsteemi vĂ€ljakutseid töötlemisel, et keerulisemaks muuta rĂŒnnakute sooritamine virnale. Pakutud kaitse tuum seisneb virna juhusliku nihke valimises iga sĂŒsteemi vĂ€ljakutse korral, mis muudab virna paigutuse mÀÀramise mĂ€lu sees keerukamaks isegi juhul, kui saadakse teavet aadresside kohta, kuna jĂ€rgmise sĂŒsteemi vĂ€ljakutse korral muutub virna pĂ”hja aadress. Juhuslikkuse lubamiseks on ette nĂ€htud kerneli kĂ€surea parameeter "randomize_kstack_offset=on/off" ja seadistus CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. Üksikasjalikud kulud on hinnatud ligikaudu 1% tootlikkuse kaduks.
    • Lisatud tugi kernelite koostamiseks Clangi kompilaatoris CFI (Control Flow Integrity) kaitsemehhanismi aktiveerimiseks, mis lisab iga kaudse funktsiooni vĂ€ljakutsele kontrolli, et tuvastada teatavat tĂŒĂŒpi mÀÀramatut kĂ€itumist, mis vĂ”ib potentsiaalselt viia normaalsete teostamisjĂ€rjekordade (control flow) rikkumiseni, kui kasutatakse ekspluataatoreid, mis muudavad funktsioonide mĂ€lus hoitavaid nĂ€itajaid. CFI lubamiseks on ette nĂ€htud parameeter CONFIG_CFI_CLANG.
    • Kerneli pakutavas krĂŒpteerimise vĂ”tmete salvestamise teenuses (key ring) hĂ”lmab usaldusvÀÀrsete vĂ”tmete (Trusted Keys) mehhanism nĂŒĂŒd mitte ainult TPM-modulite vĂ”tmeid, vaid ka TEE (Trusted Execution Environment) keskkonnast. UsaldusvÀÀrsete vĂ”tmete allika haldamiseks on pakutud laadimisparameeter "trusted.source". Lisaks on lisatud vĂ”imalus töödelda usaldusvÀÀrseid vĂ”tmeid ASN.1 formaadis.
    • Lisatud parameeter tagasivĂ”etud sertifikaatide nimekirja ennetavaks laadimiseks kernelile laadimise ajal. Lahendatud probleem (CVE-2020-26541) UEFI Secure Boot-i sertifikaatide mustas nimekirjas, mida tarniti EFI_CERT_X509_GUID formaadis, mis vĂ”imaldas sĂŒsteemi kĂ€ivitada tagasivĂ”etud sertifikaadi olemasolul.
    • Kerneli krĂŒptosĂŒsteemi on lisatud ECDSA digitaalsete allkirjade kontrollimise tugi elliptsete kĂ”verate pĂ”hjal.
    • Teostatud on SELinux poliitikate valideerimise vĂ”imalus IMA (Integrity Measurement Architecture) sĂŒsteemi abil, mis tagab andmete terviklikkuse kontrollimiseks hashide aluse sĂ€ilitamise.
  • VĂ”rgusĂŒsteem
    • WiMAX-tehnoloogia toetus on eemaldatud, kuna seda enam avalikes vĂ”rkudes ei kasutata, ning tuumades on ainus draiver, millega WiMAX-i kasutada, aegunud Intel 2400m draiver. VĂ”rgukonfigureerijas NetworkManager lĂ”petati WiMAX-i tugi 2015. aastal. Praegu on WiMax praktiliselt tĂ€ielikult asendatud selliste tehnoloogiatega nagu LTE, HSPA+ ja Wi-Fi 802.11n.
    • Lisatud on draiver MANA (Microsoft Azure Network Adapter) vĂ”rguadapterile.
    • Draiverisse ath11k on lisatud tugi Qualcomm QCN9074 juhtmeta moodulitele, mis toetavad 802.11ax.
    • Draiveris iwlwifi on implementeeritud vĂ”imalus passiivseks kanalite skaneerimiseks 6GHz sagedusalas. Ukrainale on lisatud vĂ”imalus lĂŒlitada IEEE 802.11ax sisse/ vĂ€lja BIOS-i parameetrite alusel.
    • XDP (eXpress Data Path) alamsĂŒsteemi optimeerimine, mis vĂ”imaldab vĂ”rgu pakettide manipuleerimist enne nende töötlemist Linuxi tuuma vĂ”rgu stackis. Tehtud testid nĂ€itavad XDP jĂ”udluse tĂ”usu 4-8%. Virtio seadmete puhul vĂ”ib AF_XDP protsessitöötluse jĂ”udluse kasv ulatuda kuni 33%.
    • ICMP-s on rakendatud laienemise PROBE-Ă”numite tugi, nagu on mÀÀratletud RFC 8335.
    • MPTCP (MultiPath TCP) tuuma integreerimist on jĂ€tkatud; see on TCP protokolli laiendus, mis korraldab TCP-ĂŒhenduse töö pakettide edastamiseks mitme marsruudi kaudu, kasutades erinevaid vĂ”rguinterfÀÀre, mis on seotud erinevate IP-aadresside. Uues vĂ€ljaandes on lisatud sockopt tuge TCP tĂŒĂŒpiliste valikute mÀÀramiseks. Tehtud on vĂ”imalus taastada eraldi alamsilte (subflow).
    • Netfilter’is on lisatud ressursside juhtimise tugi ĂŒhtse cgroups v2 hierarhiaga.
    • Ethtoolis on implementeeritud liides IEEE MIB statistika lugemiseks, toetades mlx5 ja bnxt. VĂ”rgu draiveritele on lubatud alustada suvaliste andmete vĂ€ljatoomist SFP EEPROM-ist, manipuleerides mitte sidese + suuruse, vaid mĂ€lulehtedega.
  • Varustus
    • On rakendatud esmane tugi ARM-kiibile Apple M1, mis hĂ”lmab katkestuste kontrollerit, taimerit, UART-i, SMP-d, I/O korraldamise funktsioone ja MMIO-d. GPU tagumist inseneerimist pole veel lĂ”petatud, vĂ€ljundi korraldamiseks on pakutud framebufferi ja konsooli tugi seerianpordiga.
    • Tuuma puhastamine vanadest draiveritest on jĂ€tkunud, eemaldatud on draiverid «gasket» (Google ASIC), «sysace», «umem» ja mitmed vanad draiverid jĂ€rjestikuste portide jaoks.
    • PĂ€rast 13 aastat staging harus on draiver «comedi», mis toetab andmete kogumise seadmeid, stabiliseeritud ja peamisse koosseisu viidud.
    • Lisatud on GUD (Generic USB Display) draiver, mis rakendab baasdraiverit USB liidese kaudu ĂŒhendatud ekraanide ja TV-adapterite jaoks. Draiver pakub DRM-omadusi (Direct Rendering Manager) pildi pööramiseks, heledusreguleerimiseks, EDID ligipÀÀsuks, video reĆŸiimide seadistamiseks ja TV ĂŒhendamiseks, mida saab kasutada konkreetsete seadmete draiverite loomise aluseks.
    • Lisatud on heli draiver 'virtio', mis rakendab virtuaalset heliseadet, mida saab kasutada vÔÔrustatavates sĂŒsteemides heli esitamiseks ja salvestamiseks ilma helikaardile ligipÀÀsu edastamiseta ning ilma emuleerimiseta.
    • Draiverisse amdgpu on lisatud algtugi GPU Aldebaranile (gfx90a). Algne tugi FreeSync adaptatiivse synchroniseerimise tehnoloogiale HDMI jaoks on sisse lĂŒlitatud (varem oli saadaval DisplayPorti jaoks), mis vĂ”imaldab ekraani vĂ€rskendussageduse tĂ€pset korrigeerimist. Aktiveeritud on ASSR (Alternate Scrambler Seed Reset) tugi. Lisatud on ioctl video kodeerimise ja dekodeerimisega seotud vĂ”imete pĂ€rimise jaoks. Sisestatud on CONFIG_DRM_AMD_SECURE_DISPLAY reĆŸiim kriitilise teabe kuvavate ekraanide muutuste tuvastamiseks. Energiat sÀÀstva mehhanismi ASPM tugi on lisatud.
    • Draiveris i915 Intel graafikakaartidele on sisse lĂŒlitatud Intel Alderlake-S kiipide tugi. Lisatud on eDP MSO (Embedded DisplayPort Multi-SST Operation) tugi.
    • Lisatud on mĂ€ngukontrolleri Luna (Amazon) tugi ning ka puutetundlike ekraanide Hycon HY46XX, ILITEK Lego Series ja MStar MSG2638 tugi.

Samaaegselt lĂ”i Ladina-Ameerika Vaba Tarkvara Fond Linuxi tĂ€ielikult vaba tuuma versiooni 5.11 — Linux-libre 5.11-gnu, mis on puhastatud tootja piiratud vaba tarkvara komponentide vĂ”i koodiplokkide elementidest. Uues vĂ€ljaandes on tehtud puhastamine draiverile comedi. Draiverite cyclades, isicom tty ja i2400m wimax puhastamine on lĂ”petatud, need on tuumast eemaldatud. Draiverite ja alam-sĂŒsteemide amdgpu, i915 csr, r8152 usb, mhi bus, x86 puuteekraan ja qualcomm arm64 blobide puhastamise kood on uuendatud.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster