Wara xahrejn ta 'żvilupp, Linus Torvalds daħħal rilaxx tal-qalba Linux 5.2. Fost l-aktar bidliet notevoli: Il-mod operattiv Ext4 huwa insensittiv għall-każ, sistema separata titlob għall-immuntar tas-sistema tal-fajls, sewwieqa għall-GPU Mali 4xx/ 6xx/7xx, il-kapaċità li jimmaniġġjaw bidliet fil-valuri sysctl fil-programmi BPF, device-mapper modulu dm-trab, protezzjoni kontra attakki MDS, appoġġ għal Sound Open Firmware għal DSP, ottimizzazzjoni tal-prestazzjoni BFQ, li ġġib is-subsistema PSI (Pressure Stall Information) għall-possibbiltà ta 'użu f'Android.
Il-verżjoni l-ġdida tinkludi 15100 soluzzjoni minn 1882 żviluppatur,
daqs tal-garża - 62 MB (bidliet affettwati 30889 fajls, 625094 linji ta 'kodiċi ġew miżjuda, 531864 linji ġew imħassra). Madwar 45% ta' kollha ppreżentati f'5.2
il-bidliet huma relatati mas-sewwieqa tal-apparat, madwar 21% tal-bidliet għandhom
attitudni lejn l-aġġornament tal-kodiċi speċifiku għall-arkitetturi tal-ħardwer, 12%
relatati mal-munzell tan-netwerk, 3% għal sistemi ta 'fajls u 3% għal interni
sottosistemi tal-qalba. 12.4% tal-bidliet kollha tħejjew minn Intel, 6.3% minn Red Hat, 5.4% minn Google, 4.0% minn AMD, 3.1% minn SUSE, 3% minn IBM, 2.7% minn Huawei, 2.7% minn Linaro, 2.2% minn ARM , 1.6 % - Oracle.
Miżjud għal Ext4 appoġġ taħdem mingħajr ma tiddistingwi l-każ ta 'karattri fl-ismijiet tal-fajls, li huwa attivat biss fir-rigward tad-direttorji vojta individwali bl-użu tal-attribut il-ġdid "+ F" (EXT4_CASEFOLD_FL). Meta dan l-attribut jiġi ssettjat fuq direttorju, l-operazzjonijiet kollha b'fajls u subdirettorji ġewwa se jitwettqu mingħajr ma jitqies il-każ ta 'karattri, inkluż il-każ se jiġi injorat meta jfittxu u jinfetħu fajls (per eżempju, il-fajls Test.txt, test.txt u test.TXT f’direttorji bħal dawn jitqiesu l-istess). B'mod awtomatiku, is-sistema tal-fajls tkompli tkun sensittiva għall-każi, bl-eċċezzjoni tad-direttorji bl-attribut "chattr + F";
Funzjonijiet għall-ipproċessar ta 'karattri UTF-8 fl-ismijiet ta' fajls, li jintużaw meta jsiru operazzjonijiet ta 'paragun u normalizzazzjoni ta' string, ġew unifikati;
XFS iżid infrastruttura għall-monitoraġġ tas-saħħa tas-sistema tal-fajls u ioctl ġdid għall-mistoqsija dwar l-istat tas-saħħa. Ġiet implimentata karatteristika sperimentali biex tiċċekkja l-bankijiet tas-superblokk onlajn.
Miżjud modulu ġdid device-mapper "dm-trab", li jippermettilek li tissimula d-dehra ta 'blokki ħżiena fuq il-midja jew żbalji meta taqra minn disk. Il-modulu jippermettilek tissimplifika d-debugging u l-ittestjar ta 'applikazzjonijiet u diversi sistemi ta' ħażna quddiem fallimenti possibbli;
Mwettqa Ottimizzazzjonijiet sinifikanti tal-prestazzjoni għall-I/O scheduler BFQ. F'kundizzjonijiet ta 'tagħbija għolja I/O, saru ottimizzazzjonijiet jippermettu Naqqas il-ħin tal-operazzjonijiet bħat-tnedija tal-applikazzjonijiet sa 80%.
Żieda serje ta' sejħiet ta' sistema għall-immuntar ta' sistemi ta' fajls: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() и move_mount(). Dawn is-sejħiet tas-sistema jippermettulek tipproċessa separatament stadji differenti ta 'immuntar (ipproċessa s-superblokk, tikseb informazzjoni dwar is-sistema tal-fajls, immonta, waħħal mal-punt tal-muntaġġ), li qabel kienu mwettqa bl-użu tas-sejħa tas-sistema common mount(). Sejħiet separati jipprovdu l-abbiltà li twettaq xenarji ta 'muntaġġ aktar kumplessi u twettaq operazzjonijiet separati bħall-konfigurazzjoni mill-ġdid tas-superblokk, l-abilitazzjoni ta' għażliet, il-bidla tal-punt ta 'muntaġġ, u ċaqliq għal namespace differenti. Barra minn hekk, l-ipproċessar separat jippermettilek tiddetermina b'mod preċiż ir-raġunijiet għall-output ta 'kodiċijiet ta' żball u tissettja sorsi multipli għal sistemi ta 'fajls b'ħafna saffi, bħal overlayfs;
Operazzjoni ġdida IORING_OP_SYNC_FILE_RANGE ġiet miżjuda mal-interface għal I/O asinkronu io_uring, li twettaq azzjonijiet ekwivalenti għal sejħa tas-sistema sync_file_range (), u implimentat ukoll l-abbiltà li jirreġistra eventfd b'io_uring u jirċievi notifiki dwar it-tlestija tal-operazzjonijiet;
Għas-sistema tal-fajls CIFS, ġie miżjud FIEMAP ioctl, li jipprovdi mapping effiċjenti tal-firxa, kif ukoll appoġġ għall-modi SEEK_DATA u SEEK_HOLE;
Fis-subsistema FUSE issuġġerit API għall-ġestjoni tad-data caching;
Btrfs ottimizza l-implimentazzjoni tal-qgroups u tejbet il-veloċità tal-eżekuzzjoni fsync għal fajls b'links multipli multipli. Il-kodiċi tal-kontroll tal-integrità tad-dejta ġie mtejjeb, li issa jqis il-ħsara possibbli lill-informazzjoni fir-RAM qabel ma titlaħla d-dejta fuq id-diska;
CEPH żied l-appoġġ għall-esportazzjoni ta 'snapshots permezz ta' NFS;
L-implimentazzjoni tal-immuntar NFSv4 fil-modalità "artab" ġiet imtejba (jekk iseħħ żball fl-aċċess għas-server fil-modalità "artab", sejħa biex jirritorna immedjatament kodiċi ta 'żball, u fil-mod "iebsa" il-kontroll ma jingħatax sakemm l-FS id-disponibbiltà jew il-ħin ta’ skadenza jiġi rrestawrat). Ir-rilaxx il-ġdid jipprovdi ġestjoni tal-timeout aktar preċiża, irkupru aktar mgħaġġel tal-ħabta, u għażla ġdida ta 'muntaġġ "softerr" li tippermettilek tibdel il-kodiċi tal-iżball (ETIMEDOUT) ritornat meta jseħħ timeout;
L-API nfsdcld, iddisinjata biex issegwi l-istat tal-klijenti NFS, tippermetti lis-server tal-NFS biex issegwi b'mod korrett l-istat tal-klijent mal-reboot. Għalhekk, id-daemon nfsdcld issa jista' jaġixxi bħala nfsdcltrack handler;
Sar xogħol biex jiġu eliminati postijiet fil-qalba li jippermettu l-eżekuzzjoni tal-kodiċi minn żoni ta 'memorja riflessi li jistgħu jinkitbu, li jippermetti l-imblukkar ta' toqob potenzjali li jistgħu jiġu sfruttati waqt attakk;
Ġie miżjud parametru ġdid tal-linja tal-kmand tal-kernel "mitigations=", li jipprovdi mod simplifikat biex jikkontrolla l-abilitazzjoni ta 'ċerti tekniki biex jipproteġu kontra vulnerabbiltajiet assoċjati mal-eżekuzzjoni spekulattiva tal-istruzzjonijiet fuq is-CPU. Li tgħaddi "mitigations=off" tiddiżattiva l-metodi eżistenti kollha, u l-mod default "mitigations=auto" tippermetti protezzjoni iżda ma taffettwax l-użu ta 'Hyper Threading. Il-modalità “mitigations=auto,nosmt” barra minn hekk tiddiżattiva l-Hyper Threading jekk meħtieġ mill-metodu ta’ protezzjoni.
F'Kconfig miżjud sezzjoni separata ta '"twebbis tal-qalba" b'għażliet biex tittejjeb il-protezzjoni tal-qalba. Bħalissa, it-taqsima l-ġdida fiha biss settings għall-attivazzjoni tal-plugins li jtejbu l-kontroll tal-GCC;
Il-kodiċi tal-qalba huwa kważi mogħtija minn dikjarazzjonijiet tal-każ li ma jiksrux fi swiċċ (mingħajr ritorn jew waqfa wara kull blokk tal-każ). Għad irid jiffissa 32 minn 2311 każ ta 'tali użu ta' swiċċ, u wara jkun possibbli li tuża l-mod "-Wimplicit-fallthrough" meta tibni l-qalba;
Għall-arkitettura PowerPC, ġie implimentat appoġġ għall-mekkaniżmi tal-ħardwer biex jillimitaw mogħdijiet ta' aċċess għall-kernel mhux mixtieqa għad-dejta fl-ispazju tal-utent;
Miżjud kodiċi tal-imblukkar attakki Klassi MDS (Microarchitectural Data Sampling) fil-proċessuri Intel. Tista 'tiċċekkja jekk sistema hijiex vulnerabbli għal vulnerabbiltajiet permezz tal-varjabbli SysFS "/sys/devices/system/cpu/vulnerabilities/mds". Disponibbli żewġ modi ta 'protezzjoni: sħiħ, li jeħtieġ mikrokodiċi aġġornat, u bypass, li ma jiggarantixxix kompletament l-ikklerjar tal-buffers tas-CPU meta l-kontroll jiġi trasferit għall-ispazju tal-utent jew is-sistema mistieden. Biex tikkontrolla l-modi ta 'protezzjoni, il-parametru "mds=" ġie miżjud mal-qalba, li jista' jieħu l-valuri "full", "full,nosmt" (+ iddiżattiva Hyper-Threads) u "off";
Fuq is-sistemi x86-64, ġiet miżjuda protezzjoni ta’ “paġni ta’ gwardja tal-munzell” għal IRQ, mekkaniżmi ta’ debugging u handlers ta’ eċċezzjoni, li l-essenza tagħhom hija s-sostituzzjoni ta’ paġni tal-memorja fil-fruntiera mal-munzell, aċċess li jwassal għall-ġenerazzjoni ta’ eċċezzjoni (page-fault);
Miżjud issettjar tas-sysctl vm.unprivileged_userfaultfd, li jikkontrolla l-abbiltà tal-proċessi mhux privileġġjati li jużaw is-sejħa tas-sistema userfaultfd();
Subsistema tan-netwerk
Miżjud Appoġġ IPv6 gateway għal rotot IPv4. Pereżempju, issa tista' tispeċifika regoli ta' rotta bħal "ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0";
Għal ICMPv6, sejħiet ioctl icmp_echo_ignore_anycast u icmp_echo_ignore_multicast huma implimentati biex jinjoraw ICMP ECHO għal anycast u
indirizzi multicast. Miżjud l-abbiltà li tillimita l-intensità tal-ipproċessar tal-pakketti ICMPv6;
Għall-protokoll tal-malji BATMAN (Better Approach To Mobile Adhoc Networking), li jippermetti l-ħolqien ta 'netwerks deċentralizzati li fihom kull nodu huwa konness permezz ta' nodi ġirien, miżjud appoġġ għax-xandir minn multicast għal unicast, kif ukoll il-kapaċità ta 'kontroll permezz ta' sysfs;
Fl-ethtool miżjud parametru Fast Link Down ġdid, li jippermettilek tnaqqas iż-żmien li tieħu biex tirċievi informazzjoni dwar avveniment ta 'link down għal 1000BaseT (taħt kundizzjonijiet normali d-dewmien huwa sa 750ms);
Deher opportunità jorbot ta' mini Foo-Over-UDP għal indirizz speċifiku, interface tan-netwerk jew socket (qabel l-irbit kien isir biss b'maskra komuni);
Fil-munzell bla fili ipprovdut possibbiltà li jiġu implimentati handlers
OWE (Opportunistic Wireless Encryption) fl-ispazju tal-utent;
F'Netfilter, l-appoġġ għall-familja ta 'indirizzi inet ġie miżjud mal-ktajjen nat (per eżempju, issa tista' tuża regola ta 'traduzzjoni waħda biex tipproċessa ipv4 u ipv6, mingħajr ma tissepara r-regoli għal ipv4 u ipv6);
F'netlink miżjudрежим strett għal verifika stretta tal-korrettezza tal-messaġġi u l-attributi kollha, li fihom id-daqs mistenni tal-attributi mhuwiex permess li jinqabeż u ż-żieda ta 'dejta addizzjonali fl-aħħar tal-messaġġi hija pprojbita;
Servizzi ta' memorja u sistema
Il-bandiera CLONE_PIDFD ġiet miżjuda mas-sejħa tas-sistema clone(), meta speċifikat, id-deskrittur tal-fajl "pidfd" identifikat mal-proċess tifel maħluq jiġi rritornat lill-proċess ġenitur. Dan id-deskrittur tal-fajl, pereżempju, jista 'jintuża biex jibgħat sinjali mingħajr biża' li jidħol f'kundizzjoni ta 'tellieqa (immedjatament wara li jintbagħat is-sinjal, il-PID fil-mira jista' jiġi meħlus minħabba t-terminazzjoni tal-proċess u okkupat minn proċess ieħor);
Għat-tieni verżjoni ta 'cgroups, ġiet miżjuda l-funzjonalità tal-kontrollur tal-friża, li biha tista' tieqaf taħdem f'cgroup u temporanjament teħles xi riżorsi (CPU, I/O, u potenzjalment anke memorja) biex twettaq kompiti oħra. Il-ġestjoni ssir permezz tal-fajls ta 'kontroll cgroup.freeze u cgroup.events fis-siġra cgroup. L-entrata 1 f'cgroup.freeze tiffriża l-proċessi fis-cgroup attwali u l-gruppi tfal kollha. Peress li l-iffriżar jieħu xi żmien, jiġi pprovdut fajl addizzjonali cgroup.events li permezz tiegħu tista 'ssir taf dwar it-tlestija tal-operazzjoni;
Sikura esportazzjoni ta 'attributi tal-memorja mehmuża ma' kull node fis-sysfs, li jippermettilek tiddetermina mill-ispazju tal-utent in-natura tal-ipproċessar tal-banek tal-memorja f'sistemi b'memorja eteroġenja;
Is-subsistema PSI (Informazzjoni dwar Stall tal-Pressjoni) ġiet imtejba, li tippermettilek tanalizza informazzjoni dwar il-ħin ta 'stennija biex tirċievi diversi riżorsi (CPU, memorja, I/O) għal ċerti kompiti jew settijiet ta' proċessi f'cgroup. Bl-użu tal-PSI, dawk li jieħdu ħsieb l-ispazju tal-utent jistgħu jistmaw b'mod aktar preċiż il-livell tat-tagħbija tas-sistema u l-mudelli ta' tnaqqis meta mqabbel mal-Medja tat-Tagħbija. Il-verżjoni l-ġdida tipprovdi appoġġ għall-iffissar ta 'limiti ta' sensittività u l-abbiltà li tuża s-sejħa poll() biex tirċievi notifika li l-limiti stabbiliti ġew attivati għal ċertu perjodu ta 'żmien. Din il-karatteristika tippermetti lil Android jimmonitorja n-nuqqas ta 'memorja fi stadju bikri, jidentifika s-sors tal-problemi u jtemm applikazzjonijiet mhux importanti mingħajr ma jikkawża problemi li huma notevoli għall-utent. Meta l-ittestjar tal-istress, l-għodod ta 'monitoraġġ tal-konsum tal-memorja bbażati fuq PSI wrew 10 darbiet inqas pożittivi foloz meta mqabbla mal-istatistika tal-vmpressure;
Il-kodiċi għall-iċċekkjar tal-programmi BPF ġie ottimizzat, li jippermetti verifika sa 20 darba aktar malajr għal programmi kbar. L-ottimizzazzjoni għamilha possibbli li jiżdied il-limitu fuq id-daqs tal-programmi BPF minn 4096 għal miljun struzzjoni;
Għall-programmi BPF ipprovdut l-abbiltà li taċċessa dejta globali, li tippermettilek tiddefinixxi varjabbli u kostanti globali fil-programmi;
Miżjud API, li jippermettilek tikkontrolla bidliet fil-parametri sysctl minn programmi BPF;
Għall-arkitettura MIPS32, ġie implimentat kompilatur JIT għall-magna virtwali eBPF;
Għall-arkitettura PowerPC ta '32-bit, ġie miżjud appoġġ għall-għodda ta' debugging KASan (Kernel address sanitizer), li tgħin biex jiġu identifikati l-iżbalji meta taħdem bil-memorja;
Fuq sistemi x86-64, ir-restrizzjoni fuq it-tqegħid ta' dumps tal-istat waqt ħabta tal-kernel (crash-dump) f'żoni ta' memorja 'l fuq minn 896MB tneħħiet;
Għall-arkitettura s390, l-appoġġ għall-randomization tal-ispazju tal-indirizz tal-kernel (KASLR) u l-abbiltà li tivverifika firem diġitali meta tgħabbi l-kernel permezz ta 'kexec_file_load() huma implimentati;
Għall-arkitettura PA-RISC, miżjud appoġġ għad-debugger tal-kernel (KGDB), jump marks u kprobes;
Оборудование
Sewwieq inkluż Lima għall-GPU Mali 400/450, użata f'ħafna ċipep anzjani bbażati fuq l-arkitettura ARM. Għal GPUs Mali aktar ġodda, is-sewwieq Panfrost ġie miżjud, li jappoġġja ċipep ibbażati fuq mikroarkitetturi Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) u Bifrost (Mali G3x, G5x, G7x);
Miżjud appoġġ għal apparati awdjo li jużaw firmware miftuħ Firmware Miftuħ bil-Ħoss (OFS). Minkejja d-disponibbiltà ta 'sewwieqa miftuħa, il-kodiċi tal-firmware għal ċipep tal-ħoss xorta baqa' magħluq u ġie fornut f'forma binarja. Il-proġett Sound Open Firmware ġie żviluppat minn Intel biex joħloq firmware miftuħ għal ċipep DSP relatati mal-ipproċessar tal-awdjo (Google aktar tard ingħaqad ukoll mal-iżvilupp). Bħalissa, il-proġett diġà ħejja l-iskoperta ta 'firmware għal ċipep tal-ħoss tal-pjattaformi Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake u IceLake;
Is-sewwieq Intel DRM (i915) iżid l-appoġġ għaċ-ċipep
Elkhartlake (Ġen11). Miżjud PCI IDs għaċ-ċipep Comet Lake (Gen9). L-appoġġ għaċ-ċipep Icelake ġie stabbilizzat, li għalih ġew miżjuda wkoll identifikaturi tal-apparat PCI addizzjonali. Mixgħul
mod ta 'qlib asinkroniku bejn żewġ buffers fil-memorja tal-vidjo (async flip) meta twettaq operazzjonijiet ta' kitba permezz ta 'mmio, li żiedet b'mod sinifikanti l-prestazzjoni ta' xi applikazzjonijiet 3D (pereżempju, il-prestazzjoni fit-test 3DMark Ice Storm żdiedet bi 300-400%). Appoġġ teknoloġiku miżjud HDCP2.2 (Protezzjoni tal-Kontenut Diġitali b'wisa' ta' frekwenza għolja) għall-kriptaġġ ta' sinjali tal-vidjo trażmessi permezz ta' HDMI;
Is-sewwieq amdgpu għal Vega20 GPU miżjud appoġġ għal RAS (Reliability, Availability, Serviceability) u appoġġ sperimentali għas-subsistema SMU 11, li ssostitwiet it-teknoloġija Powerplay. Għal GPU Vega12 miżjud appoġġ għall-modalità BACO (Bus Active, Chip Off). Miżjud appoġġ inizjali għal XGMI, xarabank b'veloċità għolja (PCIe 4.0) għall-interkonnessjoni tal-GPU. Miżjud identifikaturi neqsin għal karti bbażati fuq Polaris10 GPU lis-sewwieq amdkfd;
Is-sewwieq Nouveau żied appoġġ għal bordijiet ibbażati fuq iċ-chipset NVIDIA Turing 117 (TU117, użat fil-GeForce GTX 1650). IN
kconfig miżjud issettjar biex jiskonnettja funzjonijiet skaduti li m'għadhomx jintużaw fir-rilaxxi attwali tal-libdrm;
L-appoġġ għall-oġġetti ta 'sinkronizzazzjoni tal-"linja tal-ħin" ġie miżjud mal-API DRM u s-sewwieq amdgpu, li jippermettilek tagħmel mingħajr imblukkar klassiku.
Fl-istess ħin, il-Fondazzjoni tas-Software Ħieles tal-Amerika Latina iffurmat
għażla għadma kompletament ħielsa 5.2 - Linux-libre 5.2-gnu, imneħħi minn elementi tal-firmware u tas-sewwieq li jkun fihom komponenti mhux ħielsa jew sezzjonijiet tal-kodiċi, li l-ambitu tagħhom huwa limitat mill-manifattur. Ir-rilaxx ġdid jinkludi t-tlugħ tal-fajls
Firmware Miftuħ tal-Ħoss. It-tagħbija ta' blobs fis-sewwieqa hija diżattivata
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp u ucsi_ccg. Il-kodiċi tat-tindif tal-blob fis-sewwieqa u s-sottosistemi ixp4xx, imx-sdma, amdgpu, nouveau u goya, kif ukoll fid-dokumentazzjoni tal-mikrokodiċi, ġie aġġornat. Waqaf tindif blobs fis-sewwieq r8822be minħabba t-tneħħija tiegħu.