Rhyddhau cnewyllyn Linux 5.2

Ar ôl dau fis o ddatblygiad, Linus Torvalds cyflwyno rhyddhau cnewyllyn Linux 5.2. Ymhlith y newidiadau mwyaf amlwg: mae modd gweithredu Ext4 yn ansensitif i achosion, galwadau system ar wahân am osod y system ffeiliau, gyrwyr GPU Mali 4xx / 6xx / 7xx, y gallu i drin newidiadau mewn gwerthoedd sysctl mewn rhaglenni BPF, dyfais-mapper modiwl dm-llwch, amddiffyniad rhag ymosodiadau MDS, cefnogaeth ar gyfer Cadarnwedd Agored Sain ar gyfer DSP, optimeiddio perfformiad BFQ, gan ddod â'r is-system PSI (Gwybodaeth Stondin Pwysau) i'r posibilrwydd o'i defnyddio yn Android.

Mae'r fersiwn newydd yn cynnwys 15100 o atebion gan 1882 o ddatblygwyr,
maint y clwt - 62 MB (effeithiwyd ar y newidiadau ar 30889 o ffeiliau, ychwanegwyd 625094 o linellau cod, dilëwyd 531864 o linellau). Cyflwynodd tua 45% o'r cyfan yn 5.2
newidiadau yn ymwneud â gyrwyr dyfeisiau, tua 21% o'r newidiadau yn
agwedd tuag at ddiweddaru cod sy'n benodol i saernïaeth caledwedd, 12%
yn ymwneud â'r pentwr rhwydwaith, 3% i systemau ffeiliau a 3% i fewnol
is-systemau cnewyllyn. Paratowyd 12.4% o'r holl newidiadau gan Intel, 6.3% gan Red Hat, 5.4% gan Google, 4.0% gan AMD, 3.1% gan SUSE, 3% gan IBM, 2.7% gan Huawei, 2.7% gan Linaro, 2.2% gan ARM , 1.6 % - Oracl.

Y prif arloesiadau:

  • Is-system ddisg, systemau I/O a ffeiliau
    • Ychwanegwyd ar gyfer Est4 cefnogaeth gweithio heb wahaniaethu rhwng achos nodau mewn enwau ffeiliau, sy'n cael ei actifadu mewn perthynas â chyfeiriaduron gwag unigol yn unig gan ddefnyddio'r priodoledd newydd “+ F” (EXT4_CASEFOLD_FL). Pan fydd y priodoledd hwn wedi'i osod ar gyfeiriadur, bydd yr holl weithrediadau gyda ffeiliau ac is-gyfeiriaduron y tu mewn yn cael eu cynnal heb ystyried achos cymeriadau, gan gynnwys bydd yr achos yn cael ei anwybyddu wrth chwilio ac agor ffeiliau (er enghraifft, y ffeiliau Test.txt, test.txt a test.TXT mewn cyfeirlyfrau o'r fath yn cael eu hystyried yr un fath). Yn ddiofyn, mae'r system ffeiliau yn parhau i fod yn sensitif i achosion, ac eithrio cyfeiriaduron gyda'r nodwedd “chattr + F”;
    • Mae swyddogaethau ar gyfer prosesu nodau UTF-8 mewn enwau ffeiliau, a ddefnyddir wrth berfformio gweithrediadau cymharu llinynnol a normaleiddio, wedi'u huno;
    • Mae XFS yn ychwanegu seilwaith ar gyfer monitro iechyd system ffeiliau ac ioctl newydd ar gyfer cwestiynu statws iechyd. Mae nodwedd arbrofol wedi'i rhoi ar waith i wirio cownteri blociau mawr ar-lein.
    • Ychwanegwyd mapiwr dyfais modiwl newydd "dm-llwch“, sy'n eich galluogi i efelychu ymddangosiad blociau drwg ar y cyfryngau neu wallau wrth ddarllen o ddisg. Mae'r modiwl yn eich galluogi i symleiddio dadfygio a phrofi cymwysiadau a systemau storio amrywiol yn wyneb methiannau posibl;
    • Wedi'i wneud Gwelliannau perfformiad sylweddol ar gyfer yr amserlennydd BFQ I/O. Mewn amodau o lwyth I/O uchel, gwneir optimeiddiadau caniatáu Lleihau amser gweithrediadau fel lansio ceisiadau hyd at 80%.
    • Ychwanegwyd cyfres o alwadau system ar gyfer gosod systemau ffeiliau: fsopen(), coeden_agored(), fspic (), fsmount(), fsconfig() и symud_mount(). Mae'r galwadau system hyn yn caniatáu ichi brosesu gwahanol gamau o osod ar wahân (prosesu'r bloc mawr, cael gwybodaeth am y system ffeiliau, gosod, cysylltu â'r pwynt gosod), a berfformiwyd yn flaenorol gan ddefnyddio'r alwad system mount () cyffredin. Mae galwadau ar wahân yn darparu'r gallu i berfformio senarios mowntio mwy cymhleth a pherfformio gweithrediadau ar wahân megis ail-ffurfweddu'r bloc mawr, galluogi opsiynau, newid y pwynt gosod, a symud i ofod enw gwahanol. Yn ogystal, mae prosesu ar wahân yn caniatáu ichi bennu'r rhesymau dros allbwn codau gwall yn gywir a gosod ffynonellau lluosog ar gyfer systemau ffeiliau aml-haen, megis troshaenau;
    • Mae gweithrediad newydd IORING_OP_SYNC_FILE_RANGE wedi'i ychwanegu at y rhyngwyneb ar gyfer io_uring I/O asyncronaidd, sy'n cyflawni gweithredoedd sy'n cyfateb i alwad system cysoni_ffeil_ystod(), a hefyd wedi gweithredu'r gallu i gofrestru eventfd gyda io_uring a derbyn hysbysiadau ynghylch cwblhau gweithrediadau;
    • Ar gyfer system ffeiliau CIFS, mae'r ioctl FIEMAP wedi'i ychwanegu, gan ddarparu mapio maint effeithlon, yn ogystal â chefnogaeth i'r moddau SEEK_DATA a SEEK_HOLE;
    • Yn yr is-system FUS arfaethedig API ar gyfer rheoli caching data;
    • Mae Btrfs wedi optimeiddio gweithrediad qgroups ac wedi gwella cyflymder gweithredu fsync ar gyfer ffeiliau â chysylltiadau caled lluosog. Mae'r cod gwirio cywirdeb data wedi'i wella, sydd bellach yn ystyried difrod posibl i wybodaeth yn RAM cyn fflysio data i ddisg;
    • Ychwanegodd CEPH gefnogaeth ar gyfer allforio cipluniau trwy NFS;
    • Mae gweithrediad mowntio NFSv4 yn y modd "meddal" wedi'i wella (os bydd gwall yn digwydd wrth gyrchu'r gweinydd yn y modd "meddal", mae galwad i ddychwelyd cod gwall ar unwaith, ac yn y modd "caled" ni roddir rheolaeth tan yr FS argaeledd neu amser terfyn yn cael ei adfer). Mae'r datganiad newydd yn darparu ymdriniaeth goramser mwy cywir, adferiad cyflymach mewn damwain, ac opsiwn mowntio “mwy meddalach” newydd sy'n eich galluogi i newid y cod gwall (ETIMEDOUT) a ddychwelwyd pan fydd terfyn amser yn digwydd;
    • Mae'r API nfsdcld, a gynlluniwyd i olrhain cyflwr cleientiaid NFS, yn caniatáu i'r gweinydd NFS olrhain cyflwr y cleient yn gywir wrth ailgychwyn. Felly, gall yr ellyll nfsdcld yn awr weithredu fel triniwr nfsdcltrack;
    • Ar gyfer AFS wedi adio efelychu cloeon ystod beit mewn ffeiliau (Cloi Ystod Beit);
  • Rhithwiroli a Diogelwch
    • Mae gwaith wedi'i wneud i ddileu lleoedd yn y cnewyllyn sy'n caniatáu gweithredu cod o ardaloedd cof ysgrifenedig a adlewyrchir, sy'n caniatáu blocio tyllau posibl y gellid eu hecsbloetio yn ystod ymosodiad;
    • Mae paramedr llinell orchymyn cnewyllyn newydd "lliniariadau =" wedi'i ychwanegu, sy'n darparu ffordd symlach o reoli galluogi rhai technegau i amddiffyn rhag gwendidau sy'n gysylltiedig â gweithredu cyfarwyddiadau ar y CPU yn hapfasnachol. Mae pasio "mitigations=off" yn analluogi pob dull presennol, ac mae'r modd rhagosodedig "mitigations=auto" yn galluogi amddiffyniad ond nid yw'n effeithio ar y defnydd o Hyper Threading. Mae'r modd “lliniariadau = auto,nosmt” hefyd yn analluogi Hyper Threading os oes angen gan y dull amddiffyn.
    • Wedi adio cefnogaeth ar gyfer llofnod digidol electronig yn ôl GOST R 34.10-2012 (RFC 7091, ISO / IEC 14888-3), datblygu Vitaly Chikunov o Basalt SPO. Ychwanegwyd cefnogaeth i AES128-CCM i weithrediad TLS brodorol. Ychwanegwyd cefnogaeth ar gyfer algorithmau AEAD i'r modiwl crypto_simd;
    • Yn Kconfig wedi adio adran “caledu cnewyllyn” ar wahân gydag opsiynau i wella amddiffyniad cnewyllyn. Ar hyn o bryd, dim ond gosodiadau ar gyfer galluogi ategion gwella sieciau GCC sydd yn yr adran newydd;
    • Mae'r cod cnewyllyn bron cyflwyno o ddatganiadau achos nad ydynt yn torri yn y switsh (heb ddychwelyd neu dorri ar ôl pob bloc achos). Mae angen trwsio 32 allan o 2311 o achosion o ddefnydd o'r fath o switsh, ac ar ôl hynny gellir defnyddio'r modd “-Wimplicit-fallthrough” wrth adeiladu'r cnewyllyn;
    • Ar gyfer pensaernïaeth PowerPC, mae cefnogaeth ar gyfer mecanweithiau caledwedd ar gyfer cyfyngu ar lwybrau mynediad cnewyllyn diangen i ddata yn y gofod defnyddwyr wedi'i roi ar waith;
    • Ychwanegwyd cod blocio ymosodiadau Dosbarth MDS (Samplu Data Microarchitectural) mewn proseswyr Intel. Gallwch wirio a yw system yn agored i wendidau trwy newidyn SysFS “/ sys/devices/system/cpu/vulnerabilities/mds”. Ar gael dau ddull amddiffyn: llawn, sy'n gofyn am microcode wedi'i ddiweddaru, a ffordd osgoi, nad yw'n gwarantu clirio clustogau CPU yn llwyr pan drosglwyddir rheolaeth i ofod defnyddwyr neu'r system westai. Er mwyn rheoli dulliau amddiffyn, mae'r paramedr “mds =” wedi'i ychwanegu at y cnewyllyn, a all gymryd y gwerthoedd “llawn”, “llawn, nosmt” (+ analluogi Hyper-Threads) ac “off”;
    • Ar systemau x86-64, mae amddiffyniad “tudalen gwarchod pentwr” wedi'i ychwanegu ar gyfer IRQ, mecanweithiau dadfygio a thrinwyr eithriadau, a'i hanfod yw amnewid tudalennau cof ar y ffin â'r pentwr, mynediad sy'n arwain at gynhyrchu eithriad (tudalen-fai);
    • Ychwanegwyd gosodiad sysctl vm.unprivileged_userfaultfd, sy'n rheoli gallu prosesau di-freintiedig i ddefnyddio'r alwad system userfaultfd();
  • Is-system rhwydwaith
    • Wedi adio Cefnogaeth porth IPv6 ar gyfer llwybrau IPv4. Er enghraifft, gallwch nawr nodi rheolau llwybro fel “ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0”;
    • Ar gyfer ICMPv6, gweithredir galwadau ioctl icmp_echo_ignore_anycast ac icmp_echo_ignore_multicast i anwybyddu ICMP ECHO ar gyfer anycast a
      cyfeiriadau aml-ddarllediad. Wedi adio y gallu i gyfyngu ar ddwysedd prosesu pecynnau ICMPv6;

    • Ar gyfer protocol rhwyll BATMAN (Dull Gwell at Rwydweithio Adhoc Symudol), sy'n caniatáu creu rhwydweithiau datganoledig lle mae pob nod wedi'i gysylltu trwy nodau cyfagos, wedi adio cefnogaeth ar gyfer darlledu o aml-ddarllediad i unicast, yn ogystal â'r gallu i reoli trwy sysfs;
    • Yn ethtool wedi adio paramedr Cyswllt Cyflym Down newydd, sy'n eich galluogi i leihau'r amser y mae'n ei gymryd i dderbyn gwybodaeth am ddigwyddiad cyswllt i lawr ar gyfer 1000BaseT (dan amodau arferol mae'r oedi hyd at 750ms);
    • Ymddangosodd cyfle rhwymo twneli Foo-Over-CDU i gyfeiriad penodol, rhyngwyneb rhwydwaith neu soced (dim ond mwgwd cyffredin oedd yn rhwymo'n flaenorol);
    • Yn y pentwr diwifr sicrhawyd posibilrwydd o weithredu trinwyr
      OWE (Amgryptio Di-wifr Opportunistic) yn y gofod defnyddiwr;

    • Yn Netfilter, mae cefnogaeth ar gyfer y teulu cyfeiriad inet wedi'i ychwanegu at gadwyni nat (er enghraifft, gallwch nawr ddefnyddio un rheol cyfieithu i brosesu ipv4 ac ipv6, heb wahanu'r rheolau ar gyfer ipv4 ac ipv6);
    • Yn netlink wedi adio y gyfundrefn llym ar gyfer gwirio cywirdeb yr holl negeseuon a phriodoleddau yn llym, lle na chaniateir mynd y tu hwnt i faint disgwyliedig y priodoleddau a gwaherddir ychwanegu data ychwanegol ar ddiwedd negeseuon;
  • Gwasanaethau cof a system
    • Mae baner CLONE_PIDFD wedi'i hychwanegu at alwad y system clôn (), pan nodir hynny, mae'r disgrifydd ffeil “pidfd” a nodwyd gyda'r broses plentyn a grëwyd yn cael ei ddychwelyd i'r broses rhiant. Gellir defnyddio'r disgrifydd ffeil hwn, er enghraifft, i anfon signalau heb ofni rhedeg i gyflwr hil (yn syth ar ôl anfon y signal, efallai y bydd y PID targed yn cael ei ryddhau oherwydd terfynu'r broses a'i feddiannu gan broses arall);
    • Ar gyfer ail fersiwn cgroups, mae ymarferoldeb rheolydd rhewgell wedi'i ychwanegu, lle gallwch chi roi'r gorau i weithio mewn cgroup a rhyddhau rhai adnoddau dros dro (CPU, I / O, ac o bosibl hyd yn oed cof) i gyflawni tasgau eraill. Gwneir rheolaeth trwy'r ffeiliau rheoli cgroup.freeze a cgroup.events yn y goeden cgroup. Mae Mynediad 1 yn cgroup.freeze yn rhewi prosesau yn y cgroup cyfredol a phob grŵp plentyn. Gan fod rhewi yn cymryd peth amser, darperir ffeil cgroup.events ychwanegol y gallwch ei defnyddio i gael gwybod am gwblhau'r llawdriniaeth;
    • Wedi'i sicrhau allforio priodoleddau cof sydd ynghlwm wrth bob nod mewn sysfs, sy'n eich galluogi i bennu o ofod y defnyddiwr natur prosesu banciau cof mewn systemau â chof heterogenaidd;
    • Mae'r is-system PSI (Gwybodaeth Stondin Pwysau) wedi'i gwella, sy'n eich galluogi i ddadansoddi gwybodaeth am yr amser aros ar gyfer derbyn adnoddau amrywiol (CPU, cof, I/O) ar gyfer rhai tasgau neu setiau o brosesau mewn cgroup. Gan ddefnyddio PSI, gall trinwyr gofod defnyddwyr amcangyfrif yn fwy cywir lefel llwyth system a phatrymau arafu o gymharu â Chyfartaledd Llwyth. Mae'r fersiwn newydd yn darparu cefnogaeth ar gyfer gosod trothwyon sensitifrwydd a'r gallu i ddefnyddio'r alwad pleidleisio () i dderbyn hysbysiad bod y trothwyon gosod wedi'u sbarduno am gyfnod penodol o amser. Mae'r nodwedd hon yn caniatáu i Android fonitro prinder cof yn gynnar, nodi ffynhonnell problemau a therfynu cymwysiadau dibwys heb achosi problemau sy'n amlwg i'r defnyddiwr. Wrth brofi straen, dangosodd offer monitro defnydd cof yn seiliedig ar PSI 10 gwaith yn llai o bethau positif ffug o gymharu ag ystadegau vmpressure;
    • Mae'r cod ar gyfer gwirio rhaglenni BPF wedi'i optimeiddio, sy'n gwneud gwirio hyd at 20 gwaith yn gyflymach ar gyfer rhaglenni mawr. Roedd optimeiddio yn ei gwneud hi'n bosibl codi'r terfyn ar faint rhaglenni BPF o 4096 i filiwn o gyfarwyddiadau;
    • Ar gyfer rhaglenni BPF a roddwyd y gallu i gael mynediad at ddata byd-eang, sy'n eich galluogi i ddiffinio newidynnau byd-eang a chysonion mewn rhaglenni;
    • Wedi adio API, sy'n eich galluogi i reoli newidiadau mewn paramedrau sysctl o raglenni BPF;
    • Ar gyfer pensaernïaeth MIPS32, mae casglwr JIT ar gyfer y peiriant rhithwir eBPF wedi'i roi ar waith;
    • Ar gyfer pensaernïaeth PowerPC 32-did, mae cefnogaeth ar gyfer offeryn dadfygio KASan (glanweithydd cyfeiriad cnewyllyn) wedi'i ychwanegu, sy'n helpu i nodi gwallau wrth weithio gyda'r cof;
    • Ar systemau x86-64, mae'r cyfyngiad ar osod tomenni cyflwr yn ystod damwain cnewyllyn (damwain cnewyllyn) mewn mannau cof uwchlaw 896MB wedi'i ddileu;
    • Ar gyfer pensaernïaeth s390, gweithredir cefnogaeth ar gyfer hapleoli gofod cyfeiriad cnewyllyn (KASLR) a'r gallu i wirio llofnodion digidol wrth lwytho'r cnewyllyn trwy kexec_file_load();
    • Ar gyfer pensaernïaeth PA-RISC, ychwanegwyd cefnogaeth i'r dadfygiwr cnewyllyn (KGDB), marciau neidio a kprobes;
  • Offer
    • Gyrrwr wedi'i gynnwys Lima ar gyfer y Mali 400/450 GPU, a ddefnyddir mewn llawer o sglodion hŷn yn seiliedig ar bensaernïaeth ARM. Ar gyfer GPUs Mali mwy newydd, mae'r gyrrwr Panfrost wedi'i ychwanegu, gan gefnogi sglodion yn seiliedig ar microarchitectures Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) a Bifrost (Mali G3x, G5x, G7x);
    • Cefnogaeth ychwanegol ar gyfer dyfeisiau sain gan ddefnyddio firmware agored Cadarnwedd Agored Agored (SOF). Er gwaethaf argaeledd gyrwyr agored, roedd y cod firmware ar gyfer sglodion sain yn dal i fod ar gau ac fe'i darparwyd ar ffurf ddeuaidd. Datblygwyd y prosiect Sound Open Firmware gan Intel i greu firmware agored ar gyfer sglodion DSP yn ymwneud â phrosesu sain (ymunodd Google â'r datblygiad yn ddiweddarach hefyd). Ar hyn o bryd, mae'r prosiect eisoes wedi paratoi darganfyddiad firmware ar gyfer sglodion sain llwyfannau Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake a IceLake;
    • Mae gyrrwr Intel DRM (i915) yn ychwanegu cefnogaeth ar gyfer sglodion
      Elkhartlake (Gen11). Ychwanegwyd IDau PCI ar gyfer sglodion Comet Lake (Gen9). Mae cefnogaeth ar gyfer sglodion Icelake wedi'i sefydlogi, ac mae dynodwyr dyfeisiau PCI ychwanegol wedi'u hychwanegu ar eu cyfer hefyd.
      Wedi'i droi ymlaen
      modd newid asyncronig rhwng dau glustog mewn cof fideo (fflip async) wrth berfformio gweithrediadau ysgrifennu trwy mmio, a gynyddodd yn sylweddol berfformiad rhai cymwysiadau 3D (er enghraifft, cynyddodd perfformiad ym mhrawf Storm Iâ 3DMark 300-400%) yn sylweddol. Ychwanegwyd cefnogaeth dechnoleg HDCP2.2 (Diogelu Cynnwys Digidol Lled Band Uchel) ar gyfer amgryptio signalau fideo a drosglwyddir trwy HDMI;

    • Y gyrrwr amdgpu ar gyfer Vega20 GPU wedi adio cefnogaeth ar gyfer RAS (Dibynadwyedd, Argaeledd, Defnyddioldeb) a chefnogaeth arbrofol ar gyfer yr is-system SMU 11, a ddisodlodd technoleg Powerplay. Ar gyfer GPU Vega12 wedi adio cefnogaeth ar gyfer modd BACO (Bus Active, Chip Off). Ychwanegwyd cefnogaeth gychwynnol ar gyfer XGMI, bws cyflym (PCIe 4.0) ar gyfer rhyng-gysylltiad GPU. Ychwanegwyd dynodwyr coll ar gyfer cardiau yn seiliedig ar Polaris10 GPU i'r gyrrwr amdkfd;
    • Mae gyrrwr Nouveau wedi ychwanegu cefnogaeth i fyrddau yn seiliedig ar chipset NVIDIA Turing 117 (TU117, a ddefnyddir yn y GeForce GTX 1650). YN
      kconfig wedi adio gosod i analluogi swyddogaethau darfodedig nad ydynt bellach yn cael eu defnyddio mewn datganiadau cyfredol o libdrm;

    • Mae cefnogaeth ar gyfer gwrthrychau cydamseru “llinell amser” wedi'i ychwanegu at yr API DRM a'r gyrrwr amdgpu, sy'n eich galluogi i wneud heb rwystro clasurol.
    • Mae'r gyrrwr vboxvideo ar gyfer y GPU rhithwir VirtualBox wedi'i symud o'r gangen lwyfannu i'r prif strwythur;
    • Ychwanegwyd gyrrwr cyflym ar gyfer sglodion GFX SoC ASPEED;
    • Cefnogaeth ychwanegol i ARM SoC ac Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, Beelink GS2 (H6), Orange Pi 3 (H6), Rockchip (Orange Pi ) byrddau 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).

Ar yr un pryd, Sefydliad Meddalwedd Rydd America Ladin ffurfio
opsiwn cnewyllyn hollol rhad ac am ddim 5.2 - Linux-libre 5.2-gnu, wedi'i glirio o elfennau firmware a gyrrwr sy'n cynnwys cydrannau nad ydynt yn rhydd neu adrannau cod, y mae eu cwmpas yn gyfyngedig gan y gwneuthurwr. Mae datganiad newydd yn cynnwys uwchlwytho ffeiliau
Cadarnwedd Agored Sain. Mae llwytho smotiau mewn gyrwyr wedi'i analluogi
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ac ucsi_ccg. Mae'r cod glanhau blob yn y gyrwyr ac is-systemau ixp4xx, imx-sdma, amdgpu, nouveau a goya, yn ogystal ag yn y dogfennau microcode, wedi'i ddiweddaru. Wedi stopio glanhau smotiau yn y gyrrwr r8822be oherwydd ei symud.

Ffynhonnell: opennet.ru

Ychwanegu sylw