Linuxi tuuma 5.2 vÀljaanne

PĂ€rast kahte kuud arendust Linus Torvalds esitles ydinversioon Linux 5.2. KĂ”ige silmapaistvamad muudatused on: Ext4 tööreĆŸiim, mis ei arvestatav tĂ€hemĂ€rkide suurtĂ€htsust, eraldi sĂŒsteemikutsed failisĂŒsteemi monteerimiseks, Mali 4xx/6xx/7xx GPU draiverid, sysctl vÀÀrtuste muutmise töötlemise vĂ”imalus BPF programmides, seadmestiku kaardistamise moodul dm-dust, kaitse MDS rĂŒnnakute vastu, Sound Open Firmware toe lisamine DSP-le, BFQ jĂ”udluse tĂ€iustamine, PSI (Pressure Stall Information) alamhulga viimine Androidis kasutamiseks.

Uude versiooni on lisatud 15100 parandust 1882 arendajalt,
patƥi suurus on 62 MB (muudatused hÔlmasid 30889 faili, lisatud 625094 koodirea, kustutatud 531864 rida). Umbes 45% kÔikidest esitatud muudatustest 5.2
on seotud seadme draiveritega, umbes 21% muudatustest on
seotud riistvaralisest arhitektuurist sÔltuva koodi vÀrskendamisega, 12%
seotud vĂ”rgustiku virnast, 3% — failisĂŒsteemidega ja 3% tuumades alamsĂŒsteemidega.
kerneli alamhulkadega. 12.4% kĂ”igist muudatustest on ette valmistanud Intel, 6.3% — Red Hat, 5.4% — Google, 4.0% — AMD, 3.1% — SUSE, 3% — IBM, 2.7% — Huawei, 2.7% — Linaro, 2.2% — ARM, 1.6% — Oracle.

Peamised uuendused:

  • DiskisĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
    • Ext4-le on lisatud toetamine töötamine, mis ei arvestata tĂ€hemĂ€rkide suurtĂ€htsust failinimedes, aktiveeritakse ainult eraldi tĂŒhi kataloog, kasutades uut atribuuti «+F» (EXT4_CASEFOLD_FL). Kui see atribuut mÀÀratakse kataloogile, siis kĂ”ik failide ja alamkataloogide toimingud selle sees arvestavad tĂ€hemĂ€rkide suurtĂ€htsust, sealhulgas suurtĂ€htedest on ĂŒksteisega vĂ”rdsed otsingu ja avamise toimingutes (nĂ€iteks failid Test.txt, test.txt ja test.TXT sellistes kataloogides loetakse ĂŒksteisega vĂ”rdsed). Vaikimisi jĂ€tkab failisĂŒsteem jÀÀdvustamist arvesse vĂ”tma, vĂ€lja arvatud kataloogid, millel on atribuut «chattr +F»;
    • UTF-8 tĂ€hemĂ€rkide töötlemise funktsioonid on ĂŒhtlustatud failinimedes, mis kehtivad vĂ”rdlemise ja stringide normaliseerimise toimingute kĂ€igus;
    • XFS-is on lisatud infrastruktuur failisĂŒsteemi oleku jĂ€lgimiseks ja uus ioctl töökindluse staatuse pĂ€rimiseks. Rakendatud on eksperimentaalne vĂ”imalus otse kontrollimiseks (online scrub) superbloki loendurite jaoks.
    • Lisatud on uus seadmestiku kaardistamise moodul «dm-dust«, mis vĂ”imaldab simuleerida halva ploki ilmumist andmekandjal vĂ”i lugemisvea dĂŒnaamikat. Moodul lihtsustab rakenduste ja erinevate salvestussĂŒsteemide tĂ”rkeolukordades testimise ja silumise protsessi.
    • Tehtud on mĂ€rkimisvÀÀrne jĂ”udluse optimeerimine BFQ sisend-vĂ€ljund planeerija jaoks. KĂ”rge sisend-vĂ€ljundi koormuse korral on tehtud optimeerimisi. vĂ”imaldavad kuni 80% lĂŒhem aeg selliste toimingute, nagu rakenduste kĂ€ivitamine;
    • On lisatud rida sĂŒsteemikĂ”nesid failisĂŒsteemide mountimiseks: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() ja move_mount(). Need sĂŒsteemikĂ”ned vĂ”imaldavad eraldi töödelda erinevaid mountimise etappe (superbloki töötlemine, teabe saamine failisĂŒsteemist, mountimine, mountimiskohta kinnitamine), mis varem tehti ĂŒldise sĂŒsteemikĂ”ne mount() abil. Eraldi kĂ”ned vĂ”imaldavad rakendada keerukamaid mountimise stsenaariume ning eraldi teostada selliseid toiminguid nagu superbloki konfigureerimine, valikute aktiveerimine, mountimiskoha muutmine ja teisaldamine teise nimiruumi. Lisaks vĂ”imaldab eraldi töötlemine tĂ€pselt mÀÀrata vigakoodide tagastamise pĂ”hjuseid ja seadistada mitu allikat mitmekihiliste failisĂŒsteemide, nagu overlayfs, jaoks;
    • AsĂŒnkroonse sisend-vĂ€ljundi liidese io_uring juurde on lisatud uus toiming IORING_OP_SYNC_FILE_RANGE, mis teostab toimingud, mis vastavad sĂŒsteemikĂ”ne sync_file_range(), samuti on rakendatud vĂ”imalus registreerida eventfd io_uringiga ja saada teateid toimingute lĂ”petamise kohta;
    • CIFS failisĂŒsteemi jaoks on lisatud ioctl FIEMAP, mis tagab efektiivse ekstentide seostamise, samuti toetatakse SEEK_DATA ja SEEK_HOLE reĆŸiime;
    • FUSE alam-sĂŒsteemis on pakutud API andmete vahemĂ€lu haldamiseks;
    • Btrfs-is on optimeeritud qgroupide rakendus ning suurendatud fsync-i tĂ€itmise kiirus mitme kĂ”va lingiga failide jaoks. Andmete terviklikkuse kontrollimise koodi on parandatud, nii et see arvesse vĂ”tab vĂ”imaliku teabe kahjustamise RAM-is enne andmete ketta kirjutamist;
    • CEPH-is on lisatud toetus snapshots-i eksportimiseks NFS-i kaudu;
    • NFSv4 mountimise rakendust 'soft' on parandatud (serveri juurdepÀÀsuvigade korral tagastatakse 'soft' reĆŸiimis kohe vigakood, 'hard' reĆŸiimis siiski mitte enne failisĂŒsteemi taas saadavaks muutumist vĂ”i ajapiirangu möödumist). Uues versioonis on tagatud tĂ€psem ajapiirangu töötlemine, kiirendatud taastumine tĂ”rgetest ja lisatud uus mountimisvalik 'softerr', mis vĂ”imaldab muuta vigakoodi (ETIMEDOUT), mis tagastatakse ajapiirangu saavutamisel;
    • NFS-i kliendi oleku jĂ€lgimiseks mĂ”eldud API nfsdcld vĂ”imaldab NFS-serveril Ă”igesti jĂ€lgida kliendi olekut taaskĂ€ivitamise ajal. Nii saab nfsdcld deemon nĂŒĂŒd töötada nfsdcltrack'i töötlejana;
    • AFS-i jaoks lisatud failide baitide vahemike lukustamise simuleerimine (Bitevahemiku lukustamine);
  • Virtualiseerimine ja turvalisus
    • Kernelis on tehtud tööd, et kĂ”rvaldada kohad, mis lubavad koodi kĂ€ivitamist kirjutamisĂ”igustega peegelduvates mĂ€lu alades, takistades potentsiaalsete turvaaukude Ă€rakasutamist rĂŒnnakute korral;
    • Lisatud uus kernelikĂ€su rida "mitigations=", mis pakub lihtsustatud viisi ohtude Ă€rahoidmise tehnikate aktiveerimiseks, mis on seotud spekulatiivse kĂ€itamisega CPU-s. "mitigations=off" keelab kĂ”ik olemasolevad meetodid, kuid vaikimisi reĆŸiim "mitigations=auto" lĂŒlitab kaitse sisse, mĂ”jutamata Hyper Threading'i kasutamist. ReĆŸiim "mitigations=auto,nosmt" keelab tĂ€iendavalt Hyper Threading'i, kui kaitse meetod seda nĂ”uab.
    • Lisatud elektroonilise digitaalallkiri toetamine vastavalt GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), arendus Vitaly Chikunovilt "Bazalt SPO". TLS-i sisseehitatud teostusele on lisatud AES128-CCM tugi. moodulisse crypto_simd on lisatud AEAD algoritmide tugi;
    • Kconfigis lisatud on loodud eraldi jaotises "kernel hardening", milles on valikud kernelikaitse tugevdamiseks. Praegu on uues jaotises kogutud ainult seaded GCC pluginite tugevdamiseks;
    • Kernelikood on peaaegu vabanenud katkestamatute vĂ”rdluste kasutamine switch'is (ilma return vĂ”i break'ita iga case ploki jĂ€rel). Alles on parandada 32 2311 switch'i kasutamise juhtumit, pĂ€rast mida saab kernelite kogumine rakendada reĆŸiimi "-Wimplicit-fallthrough";
    • PowerPC arhitektuuri jaoks on rakendatud riistvaratoe mehhanismid, mis piiravad kernelile soovimatut juurdepÀÀsu kasutaja andmetele;
    • Lisatud on blokeerimiskood rĂŒnnakute MDS (Microarchitectural Data Sampling) klassi Intel'i protsessorites. SĂŒsteemi haavatavuse kontrollimiseks saab kasutada SysFS muutuja "\/sys\/devices\/system\/cpu\/vulnerabilities\/mds". Saadaval Kaks kaitsereĆŸiimi: tĂ€ielik, mis nĂ”uab vĂ€rskendatud mikroprogrammi olemasolu, ja ĂŒmbersuunamine, mis ei garanteeri tĂ€ielikult CPU vahemĂ€lu puhastamist juhtimise andmisel kasutaja vĂ”i kĂŒlalisĂŒsteemi ruumi. Kaitse reĆŸiimide haldamiseks on tuumale lisatud parameeter «mds=», mis vĂ”ib vĂ”tta vÀÀrtusi «full», «full,nosmt» (+ Hyper-Threads'i vĂ€ljalĂŒlitamine) ja «off»;
    • x86-64 sĂŒsteemides on IRQ, silumisemehanismide ja eranditöötlejate jaoks lisatud kaitse «stack guard-page», mille olemus seisneb mĂ€lulehe sisestamises, mille piiril on stekiga seoses tehtud pĂ€ringud, mis toovad kaasa erandi genereerimise (page-fault);
    • Lisatud sysctl-seade vm.unprivileged_userfaultfd, mis haldab vĂ”imalust kasutada system call userfaultfd() alandatud Ă”igustega protsessides;
  • VĂ”rgusĂŒsteem
    • Lisatud IPv6 vĂ€ravate tugi IPv4 marsruutidele. NĂ€iteks on nĂŒĂŒd vĂ”imalik mÀÀrata marsruutimisreegleid kujul «ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0»;
    • ICMPv6 jaoks on realiseeritud ioctl-kutsed icmp_echo_ignore_anycast ja icmp_echo_ignore_multicast for ICMP ECHO ignoreerimiseks anycast ja
      multicast aadresside suhtes. Lisatud vÔimalus ICMPv6 paketitöötluse intensiivsuse piiramise tegemiseks;
    • B.A.T.M.A.N. («Better Approach To Mobile Adhoc Networking») mĂ€histe protokoll, mis vĂ”imaldab luua detsentraliseeritud vĂ”rke, kus iga sĂ”lme on seotud naabruses olevate sĂ”lmedega, lisatud tugi multicast-tĂ”lkele unicast'iks, samuti vĂ”imalus juhtida sysfs'i kaudu;
    • Ethtoolis on lisatud uus parameeter Fast Link Down, mis vĂ”imaldab vĂ€hendada teabe saamise aega, kui link katkeb 1000BaseT jaoks (tavaliselt ulatub viivitus kuni 750 ms);
    • vĂ”imalik kasutada omadusi vĂ”imaluse Foo-Over-UDP tunnelite sidumise teatud aadressile, vĂ”rgu liigile vĂ”i soketile (ainult ĂŒldise maski alusel sidumine oli varem vĂ”imalik);
    • Traadita tekkis on tagatud vĂ”imalus realiseerida töötlejate
      OWE (Opportunistic Wireless Encryption) kasutajaruumi;
    • Netfilteris on nat-ahelates lisatud toetust aadresside perekonnale inet (nĂ€iteks on nĂŒĂŒd vĂ”imalik kasutada ĂŒhte tĂ”lkereeglit ipv4 ja ipv6 töötlemiseks, ilma reeglite jagamiseta ipv4 ja ipv6 vahel);
    • Netlinkis on lisatud reĆŸiim strict, et rangelt kontrollida kĂ”ikide teadete ja atribuutide kehtivust, milles ei lubata oodatud atribuutide suuruse ĂŒletamist ning ei lubata lisanduvate andmete lisamist sĂ”numite lĂ”ppu;
  • MĂ€lu ja sĂŒsteemiteenused
    • SĂŒsteemikutsesse clone() on lisatud lipp CLONE_PIDFD, mille mÀÀramisel tagastatakse vanemprotsessile failide descriptor «pidfd», mis on seotud loodud alamprotsessiga. Seda failide descriptorit saab nĂ€iteks kasutada signaalide saatmiseks, kartmata, et esineb vĂ”istlusolukord (vahetult pĂ€rast signaali saatmist vĂ”ib siht-PID olla vabastatud protsessi lĂ”petamise tĂ”ttu ja hĂ”ivatud teise protsessiga);
    • Teise versiooni cgroups on lisatud kĂŒlmkappi kontrolliva funktsionaalsuse, millega saab peatada cgroupi töö ja ajutiselt vabastada mĂ”ned ressursid (CPU, sisend/vĂ€ljund ja potentsiaalselt isegi mĂ€lu) teiste ĂŒlesannete tĂ€itmiseks. Juhtimine toimub cgroup.freeze ja cgroup.events juhtfailide kaudu cgroupi puus. 1 kirjutamine cgroup.freeze kĂŒlmutab protsessid praeguses cgroupis ja kĂ”igis alamgruppides. Kuna kĂŒlmutamine vĂ”tab aega, on tĂ€iendavalt pakutud faili cgroup.events, mille kaudu saab teada operatsiooni lĂ”petamisest;
    • Tagatud mĂ€lu atribuute, mis on seotud igas sĂ”lmes sysfsis, eksportimine, mis vĂ”imaldab kasutajaruumi kaudu mÀÀrata mĂ€lupankade töötlemise olemust heterogeensetes mĂ€lu sĂŒsteemides;
    • PSI (Pressure Stall Information) alamsĂŒsteemi on tĂ€iustatud, mis vĂ”imaldab analĂŒĂŒsida teavet erinevate ressursside (CPU, mĂ€lu, sisend/vĂ€ljund) ootamise aja kohta teatud ĂŒlesannete vĂ”i protsessigruppide jaoks cgroupis. PSI abil saavad kasutajaruumi töötlejad tĂ€psemalt hinnata sĂŒsteemi koormuse taset ja töö aeglustumise iseloomu vĂ”rreldes Load Average'iga. Uues versioonis on tagatud tundlikkuse piirangute seadistamise tugi ja vĂ”imalus kasutada poll() kutsumist, et saada teateid seatud piirmÀÀrade saavutamise kohta teatud ajavahemikus. See vĂ”imalus vĂ”imaldab Androidis jĂ€lgida mĂ€lupuudust varajases staadiumis, mÀÀrata probleemide allika ja lĂ”petada tĂ€htsusetud rakendused, vĂ€ltides kasutajale nĂ€htavate probleemide teket. Stressitestide kĂ€igus tĂ”estas PSI pĂ”hine jĂ€lgimistarkvara mĂ€lupoolse tarbimise kontrollimiseks 10 korda vĂ€hem valehĂ€ireid vĂ”rreldes vmpressure statistikaande.
    • Koodi optimeerimine BPF-programmide kontrollimiseks on tehtud, mis suurte programmide jaoks teeb kontrollimise kuni 20 korda kiiremini. Optimeerimine vĂ”imaldas tĂ”sta BPF-programmide suuruse piiri 4096 instruktsioonilt miljoni instruktsiooni peale;
    • BPF-programmidele pakutud juurdepÀÀs globaalsetele andmetele, mis lubab mÀÀrata programmidis globaalsed muutujad ja konstantsed vÀÀrtused;
    • Lisatud API, mis vĂ”imaldab BPF-programmidest kontrollida sysctl parameetrite muutusi;
    • MIPS32 arhitektuuri jaoks on rakendatud JIT-kompileerija eBPF virtuaalses masinas;
    • 32-bitise PowerPC arhitektuuri jaoks on lisatud tuge KASani (Kernel Address Sanitizer) tĂ”rkeotsimise tööriista, mis aitab tuvastada mĂ€luhĂ€ireid;
    • x86-64 sĂŒsteemides on eemaldatud piirang, et kernelikrahhi (crash-dump) olekud saaksid paikneda mĂ€lupiirkondades, mis on kĂ”rgemad kui 896MB;
    • s390 arhitektuuri jaoks on rakendatud tuumade aadressiruumi randomiseerimise (KASLR) tugi ja digitaalsete allkirjade kontrollimise vĂ”imalus kernelile kexec_file_load() kaudu laadimisel;
    • PA-RISC arhitektuuri jaoks on lisatud tugivĂ”imekused kernelide tĂ”rkeotsimise (KGDB), harupunktide ja kprobes'i jaoks;
  • Varustus
    • Paketis on draiver Lima Mali 400/450 GPU jaoks, mida kasutatakse paljudes vanemates ARM arhitektuuril pĂ”hinevates kiipides. Uuemate Mali GPU-de jaoks on lisatud Panfrost draiver, mis toetab Midgardi arhitektuuril pĂ”hinevaid kiipe (Mali-T6xx, Mali-T7xx, Mali-T8xx) ja Bifrost (Mali G3x, G5x, G7x);
    • Lisatud tugi heliseadmete jaoks, mis kasutavad avatud pĂŒsivara; Heli Avatud PĂŒsivara (SOF). Hoolimata avatud draiverite olemasolust jĂ€i helikiipide pĂŒsivara siiski suletuks ja tarniti binaarses vormis. Sound Open Firmware projekt on vĂ€lja töötatud ettevĂ”tte Intel poolt avatud pĂŒsivara loomiseks DSP-kiipidele, mis on seotud heli töötlemisega (hiljem liitus arendusega ka Google). Praegu on projekti raames juba ette valmistatud avatud pĂŒsivara Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ja IceLake platvormide helikiipidele;
    • Intel (i915) DRM-draiverisse on lisatud tugi kiipidele
      Elkhartlake (Gen11). Lisatud PCI-identifikaatorid Comet Lake (Gen9) kiipidele. Icelake kiipide tugi on stabiliseeritud, mille jaoks on samuti lisatud tÀiendavad seadmete PCI-identifikaatorid.
      Vaikimisi on sisse lĂŒlitatud
      asĂŒnkroonne lĂŒlitusreĆŸiim kahe videomĂ€lu puhverserveri vahel (async flip) mmio kaudu kirjutamisoperatsioonide teostamisel, mis on vĂ”imaldanud paljude 3D-rakenduste jĂ”udlust oluliselt tĂ”sta (nĂ€iteks 3DMark Ice Stormi testis tĂ”usis jĂ”udlus 300–400%). Lisatud on toe HDCP2.2 (High-bandwidth Digital Content Protection) videovoo krĂŒpteerimiseks, mis edastatakse HDMI kaudu;
    • amdgpu draiverisse GPU Vega20 lisatud lisatud RAS (Reliability, Availability, Serviceability) tugi ja eksperimentaalne SMU 11 alamsĂŒsteemi tugi, mis on asendanud Powerplay tehnoloogia. GPU Vega12 jaoks lisatud lisatud BACO reĆŸiimi (Bus Active, Chip Off) tugi. Lisatud algne XGMI tugi, kĂ”rge andmeedastuskiirus (PCIe 4.0) GPU ĂŒhendamiseks. amdkfd draiveris on lisatud puuduolevad id-d Polaris10 GPU-l pĂ”hinevatele kaartidele;
    • Nouveau draiverisse on lisatud tugi NVIDIA Turing 117 (TU117, mida kasutatakse GeForce GTX 1650) pĂ”histe kaartide jaoks. Kconfig
      seadistus vananenud funktsioonide vĂ€ljalĂŒlitamiseks, mis ei ole enam kasutusel libdrm uutes vĂ€ljaannetes; lisatud DRM API-s ja amdgpu draiveris on lisatud "timeline" sĂŒnkroonimisobjektide tugi, mis vĂ”imaldab loobuda traditsioonilistest lukustustest.
    • Staging harust on pĂ”hi koostisse kantud vboxvideo draiver virtuaalse GPU VirtualBoxi jaoks;
    • Lisatud aspeed draiver GFX SoC ASPEED kiibistikule;
    • Lisatud ARM SoC ja Intel Agilex (SoCFPGA) platvormide tugi, NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
    • ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),
      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

      tÀielikult vaba tuum 5.2

Samas Latiino-Ameerika Vaba Tarkvara Fond kujundas
variant Linux-libre 5.2-gnu — , mis on puhastatud mittevabade komponentide vĂ”i koodilĂ”ikude elementidest, mille rakendamine on piiratud tootja poolt. Uues vĂ€ljaandes on lisatud failide laadimineSound Open Firmware. Draiverites on vĂ€lja lĂŒlitatud blobide laadimine
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ja ucsi_ccg. On uuendatud blobide puhastamise koodi draiverites ja alamsĂŒsteemides ixp4xx, imx-sdma, amdgpu, nouveau ja goya, samuti mikrokoodi dokumentatsioonis. Blobide puhastamine draiveris r8822be on lĂ”petatud selle eemaldamise tĂ”ttu.
đŸ„‡Linuxi 5.2 tuuma vĂ€ljaanne | ProHoster

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