Linuxi 5.2 tuuma vÀljalaskmine

PĂ€rast kahte kuud arendusteline Linus Torvalds esitles tugevdamise sĂŒdamik Linux 5.2. Oluliste muudatuste hulgas on: Ext4 tööreĆŸiim, mis ei arvesta tĂ€hti, eraldi sĂŒsteemi kutsed failisĂŒsteemi mountimiseks, draiverid GPU-dele Mali 4xx/6xx/7xx, vĂ”imalus töötada sysctl vÀÀrtuste muutustega BPF programmides, device-mapper moodul dm-dust, kaitse MDS rĂŒnnakute vastu, Sound Open Firmware toetamine DSP-le, BFQ jĂ”udluse optimeerimine, PSI (Pressure Stall Information) alam-sĂŒsteemi viimine Androidi kasutatavusse.

Uues versioonis on aktsepteeritud 15100 parandust 1882 arendajalt,
patchi suurus on 62 MB (muudatused puudutasid 30889 faili, lisatud on 625094 koodi rida, kustutatud 531864 rida). Umbes 45% kÔikidest esitatud 5.2
muudatustest on seotud seadme draiveritega, umbes 21% muudatustest puudutab
spetsiifiliste riistvara arhitektuuride koodi uuendamist, 12%
liitub vĂ”rgu sĂŒsteemiga, 3% — failisĂŒsteemide ja 3% siseste
tuuma alam-sĂŒsteemidega. 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:

  • Disski alamsĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
    • Ext4-le on lisatud toetamine failinimede nimede puhul ei arvestata sĂŒmbolite suurusjĂ€rku, mis aktiveeritakse ainult seoses ĂŒksikute tĂŒhjade kataloogidega uue atribuudiga «+F» (EXT4_CASEFOLD_FL). Kui see atribuut katalooge seadistatakse, toimub kĂ”ik failide ja alamkaustadega seotud toimingud sĂŒmbolite suurusjĂ€rku arvesse vĂ”tmata, sealhulgas suurusjĂ€rgu ignoreerimine failide otsimiseks ja avamiseks (nt failid Test.txt, test.txt ja test.TXT loetakse sellistes kataloogides samaks). Vaikimisi jÀÀb failisĂŒsteem suurusjĂ€rgu sĂ”ltuvaks, vĂ€lja arvatud kataloogid, kus on atribuut «chattr +F»;
    • failinimede UTF-8 sĂŒmbolite töötlemise funktsioonid on ĂŒhtlustatud, mida rakendatakse stringide vĂ”rdlemise ja normaliseerimise toimingute kĂ€igus;
    • XFS-ile on lisatud infrastruktuur failisĂŒsteemi seisundi jĂ€lgimiseks ja uus ioctl töökindluse staatuse pĂ€rimiseks. Tehtud on katse vĂ”imalus online-skrubatsiooniks superbloki loenduri kontrollimiseks.
    • lisatud uus seadme-mappimise moodul «dm-dust«, vĂ”imaldades simuleerida andmemĂ€lu rikkeid vĂ”i lugemisvigu kettalt. Moodul lihtsustab rakenduste ja erinevate salvestussĂŒsteemide tĂ”rkeotsingut ja testimist juhul, kui tĂ”rkeid esineb;
    • Tehtud signifiline sisendi/vĂ€ljundi BFQ planeerija jĂ”udluse optimeerimine. Suure koormuse korral on tehtud optimeeringud vĂ”imaldavad kuni 80% vĂ€hendada selliste toimingute, nagu rakenduste kĂ€ivitamine, aega;
    • Lisatud on rida sĂŒsteemikĂ”nesid failisĂŒsteemide mountimiseks: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() ja move_mount(). Need to handle the different stages of mounting separately (process the superblock, obtain file system information, mount, and attach to a mount point), which were previously executed using a common system call mount(). Separate calls allow for more complex mounting scenarios and the ability to perform operations like reconfiguring the superblock, enabling options, changing the mount point, and moving to another namespace. Furthermore, separate processing allows for precise identification of error code causes and setting multiple sources for layered file systems such as overlayfs;
    • A new operation IORING_OP_SYNC_FILE_RANGE has been added to the interface for asynchronous input/output io_uring, performing actions equivalent to the system call sync_file_range(), as well as implementing the registration capability of eventfd with io_uring and receiving notifications upon the completion of operations;
    • For the CIFS file system, ioctl FIEMAP has been added, providing efficient extent mapping, along with support for SEEK_DATA and SEEK_HOLE modes;
    • In the FUSE subsystem pakutud API for managing data caching;
    • Btrfs'i rakenduse qgroups optimeerimine ja fsynci tĂ€itmise kiirus on suurenenud, et toetada mitu kĂ”va linki. Parandatud andmete terviklikkuse kontrollkoodi, mis arvestab nĂŒĂŒd vĂ”imaliku mĂ€lu kahjustusega enne andmete kirjutamist kettale;
    • CEPH-s on lisatud toe eksportimine snapshots'i kaudu NFS-ile;
    • NFSv4 monteerimise rakendust 'soft' reĆŸiimis on parendatud (salvestusvea korral nĂ€itab 'soft' reĆŸiim kohe veakoodi, samas 'hard' reĆŸiimis ei tagasta Kontrollpunkti until the FS is available again or times out). Uues vĂ€ljaandes on tagatud tĂ€psem ajapiirangute töötlemine, kiiremini taastamine tĂ”rgete korral ning lisatud uus monteerimise valik 'softerr', mis vĂ”imaldab muuta ajakoodi (ETIMEDOUT), mis tagastatakse ajapiirangu ilmnemisel;
    • NFS'i oleku jĂ€lgimiseks mĂ”eldud API nfsdcld vĂ”imaldab NFS-serveril jĂ€lgida kliendi seisundit taaskĂ€ivitamise ajal. Seega, nfsdcld demon vĂ”ib nĂŒĂŒd toimida nfsdcltrack töötlejana;
    • AFS jaoks on lisatud baiti vahemiku lukustamise simulatsioon failides (Baiti vahemiku lukustamine);
  • Virtualiseerimine ja turvalisus
    • On tehtud tööd, et kĂ”rvaldada tuuma kohti, mis vĂ”imaldavad koodi kĂ€ivitamist kirjutatavatest mĂ€lu peegelduspiirkondadest, mis vĂ”imaldab blokeerida potentsiaalseid lĂŒnki, mida Ă€kilise rĂŒnnaku korral Ă€ra kasutada.
    • Lisatud on uus tuuma kĂ€surea parameeter «mitigations=», mis pakub lihtsustatud viisi hallata erinevate kaitsemeetodite sisselĂŒlitamist, mis on seotud CPU spetsiifilise tĂ€itmise haavatavustega. Parameetri «mitigations=off» edastamine keelab kĂ”ik olemasolevad meetodid, samas kui vaikimisi reĆŸiim «mitigations=auto» lubab kaitset, kuid ei mĂ”juta Hyper Threadingu kasutamist. ReĆŸiim «mitigations=auto,nosmt» keelab lisaks Hyper Threadingu, kui kaitsemeetod seda nĂ”uab.
    • Lisatud elektronilise digitaalallkirja tugi vastavalt ГОСб Đ  34.10-2012 (RFC 7091, ISO/IEC 14888-3), vĂ€lja töötatud Vitaly Chikunov'i poolt «BaĆŸalt SPO» juures. Sisseehitatud TLS rakendusse on lisatud AES128-CCM tugi. Crypto_simd moodulisse on lisatud AEAD algoritmide tugi;
    • Kconfigis on lisatud on eraldi jaotis «kernel hardening» koos valikute loomisega tuuma kaitse tugevdamiseks. Praegu on uude jaotisse kogutud ainult seaded GCC pistikprogrammide tugevdamiseks.
    • Yadrea kood on peaaegu vabastatud töötlemata casĐ” avalduste switch'is (ilma return vĂ”i break'i pĂ€rast iga case plokki). Üksikjuhtumeid switch'i sarnast kasutamist on jÀÀnud parandada 32 2311-st, pĂ€rast mida saab kernelit koostades kasutada reĆŸiimi „-Wimplicit-fallthrough“;
    • PowerPC arhitektuuri jaoks on rakendatud toega riistvaralisi mehhanisme, et piirata soovimatuid juurdepÀÀsu teid tuumale kasutajaandmetele;
    • Lisatud kood blokeerimiseks rĂŒnnakute MDS (Microarchitectural Data Sampling) klassi Intel'i protsessorites. SĂŒsteemi haavatavuse kontrollimiseks saab kasutada SysFS-muutujat „/sys/devices/system/cpu/vulnerabilities/mds“. Saadaval kaks kaitse reĆŸiimi: tĂ€ielik, mis nĂ”uab vĂ€rskendatud mikroviiside olemasolu, ning ĂŒmbersĂ”it, mis ei garanteeri tĂ€ielikku CPU mĂ€lupinkide puhastamist, kui nĂ”uet tĂ€idetakse kasutajate ruumi vĂ”i kĂŒlg sĂŒsteemi all. Kaitse reĆŸiimide kontrollimiseks on tuuma lisatud parameeter „mds=“, mis vĂ”ib vĂ”tta vÀÀrtusi „full“, „full,nosmt“ (+ Hyper-Threadingu vĂ€ljalĂŒlitamine) ja „off“;
    • x86-64 sĂŒsteemides on IRQ-de, tĂ”rkeotsingu mehhanismide ja erande kĂ€sitlejate jaoks lisatud "stack guard-page" kaitse, mille olemus seisneb mĂ€lu lehtede piiri asendamises, millele juurdepÀÀs toob kaasa erandi (page-fault);
    • Lisatud on sysctl-seade vm.unprivileged_userfaultfd, mis reguleerib mitteprivileeritud protsesside poolt sĂŒsteemikĂ”ne userfaultfd() kasutamise vĂ”imalust;
  • VĂ”rgu alamsĂŒsteem
    • Lisatud IPv6 vĂ€ravate tugi IPv4 marsruutidele. NĂ€iteks on nĂŒĂŒd vĂ”imalik mÀÀrata marsruutimisse reegleid nagu „ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0“;
    • ICMPv6 jaoks on rakendatud ioctl-kĂ”nesid icmp_echo_ignore_anycast ja icmp_echo_ignore_multicast, et ignoreerida ICMP ECHO-d anycast ja
      multicast aadresside jaoks. Lisatud ICMPv6 pakettide töötlemise intensiivsuse piiramise vÔimalus;
    • B.A.T.M.A.N. („Better Approach To Mobile Adhoc Networking”) mesh-protokolli jaoks, mis vĂ”imaldab luua detsentraliseeritud vĂ”rke, kus iga sĂ”lm on seotud naabersĂ”lmedega, on lisatud on lisatud tugi multicastist unicastisse ĂŒleminekuks, samuti haldamise vĂ”imalus lĂ€bi sysfs;
    • Ethtoolis lisatud on uus parameeter Fast Link Down, mis vĂ”imaldab vĂ€hendada teate saamise aega lingi katkestamise sĂŒndmuse kohta 1000BaseT jaoks (tavaliselt on viivitus kuni 750 ms);
    • Ilmnes vĂ”imalus Foo-Over-UDP tunnelite seondumise vĂ”imalus kindlale aadressile, vĂ”rguliidesele vĂ”i soketile (varem tehti seondumine ainult ĂŒhise maskiga);
    • Traadita tahvli raames tagatud vĂ”imalus teostada töötlejaid
      OWE (Opportunistic Wireless Encryption) kasutaja ruumis;
    • Netfilteri nat-ahelatesse on lisatud toetust inet aadressi perekonnale (nĂ€iteks nĂŒĂŒd saab kasutada ĂŒht reeglit tĂ”lkimiseks ipv4 ja ipv6 töötlemiseks, ilma reeglite eraldamiseta ipv4 ja ipv6 jaoks);
    • Netlinkis lisatud reĆŸiim strict rangeks kontrollimiseks, et kĂ”ik sĂ”numid ja atribuudid oleksid korrektse suurusega, milles ei lubata ĂŒletada oodatud atribuutide mÔÔtmeid ja keelatakse lisaandmete lisamine sĂ”numite lĂ”ppu;
  • MĂ€lu ja sĂŒsteemiteenused
    • SĂŒsteemi kĂ”nele clone() on lisatud lipp CLONE_PIDFD, mille korral vanemprotsessile tagastatakse failide deskriptor «pidfd», millega on tuvastatud loodud lapsprotsess. Seda failide deskriptorit, nĂ€iteks, saab kasutada signaalide saatmiseks, muretsemata, et tekkida vĂ”iks vĂ”istlusolukord (vahetult pĂ€rast signaali saatmist vĂ”ib siht-PID olla vabastatud, kui protsess lĂ”petatakse ja see on hĂ”ivatud teise protsessiga);
    • Teise versiooni cgroups on lisatud freezer kontrolleri funktsioon, mis vĂ”imaldab talitada cgroupi tööd ja ajutiselt vabastada mĂ”ned ressursid (CPU, sisend/vĂ€ljund ja potentsiaalselt isegi mĂ€lu) teiste ĂŒlesannete tĂ€itmiseks. Halduse teostamine kĂ€ib cgroup.freeze ja cgroup.events juhtfailide kaudu cgroupi puus. Cgroup.freeze'i kirjutamine vÀÀrtusega 1 kĂŒlmutab protsessid praeguses cgroupis ja kĂ”igis alamgruppides. Kuna kĂŒlmutamine nĂ”uab teatavat aega, on lisatud fail cgroup.events, mille kaudu on vĂ”imalik saada teavet operatsiooni lĂ”petamise kohta.
    • Tagatud mĂ€lu atribuutide ekspordiga, mis on seotud iga sĂ”lmega sysfs-is, mis vĂ”imaldab kasutajaruumi kaudu mÀÀrata mĂ€lupankade töötlemise iseloomu heterogeensete mĂ€lu sĂŒsteemide puhul;
    • TĂ€iendatud PSI (Pressure Stall Information) alussĂŒsteem, mis vĂ”imaldab analĂŒĂŒsida erinevate ressursside (CPU, mĂ€lu, sisend/vĂ€ljund) ooteaega teatud ĂŒlesannete vĂ”i protsesside kogumite jaoks cgroup'is. PSI abil saavad kasutaja ruumi töötlejad paremini hinnata sĂŒsteemi koormust ja töö aeglustumise iseloomu vĂ”rreldes Load Average'iga. Uues versioonis on toetatud tundlikkuse lĂ€vendite seadistamise vĂ”imalus ja poll() sĂŒsteemikĂ”ne kasutamine, et saada teateid seadistatud lĂ€vivÀÀrtuste ĂŒletamisest kindla ajavahemiku jooksul. See vĂ”imalus vĂ”imaldab Androidis jĂ€lgida mĂ€lu puudujÀÀki varajases etapis, tuvastada probleemide allika ja sulgeda ebaolulised rakendused, vĂ€ltides sellega kasutajale mĂ€rgatavate probleemide tekkimist. Stressitestimise kĂ€igus nĂ€itas PSI-pĂ”hbine mĂ€lu jĂ€lgimise vahend 10 korda vĂ€hem valehĂ€ireid vĂ”rreldes vmpressure statistika tulemusega.
    • Koodi optimeerimine BPF-programmide kontrollimiseks on tehtud, mis vĂ”imaldab suurte programmide kontrolli kĂ€itada kuni 20 korda kiiremini. Optimeerimise tulemusel tĂ”steti BPF-programmide suuruse piiri 4096-lt miljoni kĂ€suteni;
    • BPF-programmide jaoks on esitatud on vĂ”imalus pÀÀseda juurde globaalsetele andmetele, mis lubab mÀÀrata programmides globaalsetes muutujates ja konstantsides;
    • Lisatud API, vĂ”imaldades BPF-programmidest kontrollida sysctl-i parameetrite muutusi;
    • MIPS32 arhitektuuri jaoks on ellu kutsutud JIT-kompilaator eBPF virtuaalmasinale;
    • 32-bitise PowerPC arhitektuuri jaoks on lisatud KASan (Kernel address sanitizer) silumise tööriista tugi, mis aitab tuvastada mĂ€luhalduse vigu;
    • x86-64 sĂŒsteemides on eemaldatud piirmÀÀr krashi korral (crash-dump) olekudumpide asetusele mĂ€lu aladel ĂŒle 896MB;
    • s390 arhitektuuri jaoks on rakendatud tuumade aadressiruumi randomiseerimise (KASLR) toimet ja digitaalsete allkirjade kontrollimise vĂ”imalust tuuma laadimisel kexec_file_load() kaudu;
    • PA-RISC arhitektuuri jaoks on lisatud tuuma siluri (KGDB) tugi, sihtmĂ€rkide ja kprobes'i toetamine;
  • Seadmed
    • Komplekti kuulub draiver Lima Mali 400/450 GPU-d jaoks, mida kasutatakse paljude vanade ARM-architecture'i kiipide jaoks. Uute Mali GPU-de jaoks on lisatud Panfrost draiver, mis toetab Midgardi (Mali-T6xx, Mali-T7xx, Mali-T8xx) ja Bifrosti (Mali G3x, G5x, G7x) mikroarhitektuuriga kiipe.
    • Lisatud tugi heliseadmetele, mis kasutavad avatud pĂŒsivara. Sound Open Firmware (SOF). Kuigi avatud draiverid on olemas, on helichippide pĂŒsivara kood endiselt suletud ja tarnitakse binaarses vormis. Sound Open Firmware projekt on vĂ€lja töötatud Intel'i poolt avatud pĂŒsivara loomiseks DSP-kiipidele, mis on seotud helitöötlusega (hiljem liitus arendusega ka Google). Praegu on projekti raames juba ette valmistatud avatud pĂŒsivara helikiipide jaoks Intel'i platvormidel: Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ja IceLake.
    • Intel'i (i915) DRM-draiveris on lisatud tugi kiipidele.
      Elkhartlake (Gen11). Lisatud PCI-identifikaatorid Comet Lake (Gen9) kiipidele. Stabiliseeritud Icelake kiipide tugi, millele on samuti lisatud tÀiendavad PCI-seadmestiku identifikaatorid.
      LĂŒlitatud
      video mĂ€lu kahe puhvri vahel asĂŒnkroonse vahetamise reĆŸiim (async flip), kui kirjutamise operatsioonid kulgevad mmio kaudu, mis tĂ”stis mĂ”nede 3D rakenduste jĂ”udlust mĂ€rkimisvÀÀrselt (nĂ€iteks 3DMark Ice Stormi testis kasvas jĂ”udlus 300-400%). Lisatud tugi tehnoloogiale HDCP2.2 (Khigh-bandwidth Digital Content Protection) video signaali krĂŒpteerimiseks, mis edastatakse HDMI kaudu;
    • amdgpu draiveris GPU Vega20 on lisatud tugi RAS (Reliability, Availability, Serviceability) ning eksperimentaalne tugi SMU 11 alamĂŒsteemile, mis asendab Powerplay tehnoloogiat. GPU Vega12 jaoks on lisatud tugi BACO reĆŸiimile (Bus Active, Chip Off). Lisatud algne tugi XGMI, kĂ”rge lĂ€bilaskevĂ”imega bussile (PCIe 4.0) GPU ĂŒhendamiseks. amdkfd draiverisse on lisatud puuduvad Polaris10 GPU kaartide identifikaatorid;
    • Nouveau draiveris on lisatud tugi NVIDIA Turing 117 (TU117, mida kasutatakse GeForce GTX 1650) aluseliste plaatide jaoks.
      kconfig on lisatud seaded, et vĂ€lja lĂŒlitada aegunud funktsioonid, mis ei ole enam kasutuses aktuaalsetes libdrm vĂ€ljaannetes;
    • DRM API-s ja amdgpu draiveris on lisatud tugi sĂŒnkroneerimisobjektidele «timeline», mis vĂ”imaldavad loobuda klassikalistest lukustustest.
    • Staging haru peamistele yhĂ€ viidikele vboxvideo draiveri virtuaalsele GPU-le VirtualBox;
    • GFX kiibi SoC ASPEED jaoks on lisatud aspeed draiver;
    • Toetatakse ARM SoC ja Intel Agilex (SoCFPGA) plaate, 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).

Samas ajal, Ladina-Ameerika vaba tarkvara fond vormis
variant tĂ€ielikult vaba kernel 5.2 — Linux-libre 5.2-gnu, mis on puhastatud vahemĂ€lu koostisosadest ja draiveritest, mis sisaldavad mitte-vabasid komponente vĂ”i koodilĂ”ike, mille kasutusala on tootja poolt piiritletud. Uues vĂ€ljaandes on lisatud failide laadimine,
Sound Open Firmware. Draiverites on keelatud blobide laadimine
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ja ucsi_ccg. Draiverites ja ixp4xx, imx-sdma, amdgpu, nouveau ja goya alamsĂŒsteemides on uuendatud blobide puhastamise koodi ning mikrokoodi dokumentatsioonis. r8822be draiveris on blobide puhastamine lĂ”petatud seoses selle eemaldamisega.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster