Rilaxx tal-kernel Linux 5.2

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.

Il-prinċipali innovazzjonijiet:

  • Sottosistema tad-disk, I/O u sistemi ta' fajls
    • 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;
    • Għall-AFS miżjud emulazzjoni ta' serraturi tal-firxa tal-byte fil-fajls (Byte Range Locking);
  • Virtualization u Sigurtà
    • 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.
    • Miżjud appoġġ għall-firma diġitali elettronika skont GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), żviluppati Vitaly Chikunov minn Basalt SPO. Appoġġ miżjud għall-AES128-CCM għall-implimentazzjoni nattiva TLS. Appoġġ miżjud għall-algoritmi AEAD mal-modulu crypto_simd;
    • 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.
    • Is-sewwieq vboxvideo għall-GPU virtwali VirtualBox ġie mċaqlaq mill-fergħa tal-waqfien għall-istruttura ewlenija;
    • Miżjud sewwieq aspeed għaċ-ċippa GFX SoC ASPEED;
    • Appoġġ miżjud għal ARM SoC u Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi ) bordijiet 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).

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.

Sors: opennet.ru

Żid kumment