PĂ€rast kahte kuud arendusteline Linus Torvalds tugevdamise sĂŒdamik . 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.
:
- Disski alamsĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
- Ext4-le on lisatud 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 ««, 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;
- signifiline sisendi/vÀljundi BFQ planeerija jÔudluse optimeerimine. Suure koormuse korral on tehtud optimeeringud kuni 80% vÀhendada selliste toimingute, nagu rakenduste kÀivitamine, aega;
- Lisatud on rida sĂŒsteemikĂ”nesid failisĂŒsteemide mountimiseks: , , , , ja . 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 , 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 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 baiti vahemiku lukustamise simulatsioon failides ();
- 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.
- elektronilise digitaalallkirja tugi vastavalt ĐĐĐĄĐą Đ 34.10-2012 (RFC 7091, ISO/IEC 14888-3), 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 eraldi jaotis «kernel hardening» koos valikute loomisega tuuma kaitse tugevdamiseks. Praegu on uude jaotisse kogutud ainult seaded GCC pistikprogrammide tugevdamiseks.
- Yadrea kood on peaaegu 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 MDS (Microarchitectural Data Sampling) klassi Intel'i protsessorites. SĂŒsteemi haavatavuse kontrollimiseks saab kasutada SysFS-muutujat â/sys/devices/system/cpu/vulnerabilities/mdsâ. 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
- 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. 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 tugi multicastist unicastisse ĂŒleminekuks, samuti haldamise vĂ”imalus lĂ€bi sysfs;
- Ethtoolis 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 Foo-Over-UDP tunnelite seondumise vĂ”imalus kindlale aadressile, vĂ”rguliidesele vĂ”i soketile (varem tehti seondumine ainult ĂŒhise maskiga);
- Traadita tahvli raames 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 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.
- 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 vÔimalus pÀÀseda juurde globaalsetele andmetele, mis lubab mÀÀrata programmides globaalsetes muutujates ja konstantsides;
- Lisatud , 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 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. (). 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.
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 (Khigh-bandwidth Digital Content Protection) video signaali krĂŒpteerimiseks, mis edastatakse HDMI kaudu; - amdgpu draiveris GPU Vega20 tugi RAS (Reliability, Availability, Serviceability) ning eksperimentaalne tugi SMU 11 alamĂŒsteemile, mis asendab Powerplay tehnoloogiat. GPU Vega12 jaoks 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 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
variant â , 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
