Rhyddhau cnewyllyn Linux 5.11

Ar ôl dau fis o ddatblygiad, cyflwynodd Linus Torvalds ryddhad cnewyllyn Linux 5.11. Ymhlith y newidiadau mwyaf nodedig: cefnogaeth i gilfachau Intel SGX, mecanwaith newydd ar gyfer rhyng-gipio galwadau system, bws ategol rhithwir, gwaharddiad ar gydosod modiwlau heb MODULE_LICENSE(), modd hidlo cyflym ar gyfer galwadau system mewn seccomp, terfynu cefnogaeth i'r pensaernïaeth ia64, trosglwyddo technoleg WiMAX i'r gangen “llwyfannu”, y gallu i grynhoi SCTP yn y CDU.

Mae'r fersiwn newydd yn cynnwys 15480 o atgyweiriadau gan 1991 o ddatblygwyr, maint y clwt yw 72 MB (effeithiodd y newidiadau ar 12090 o ffeiliau, ychwanegwyd 868025 o linellau cod, dilëwyd 261456 o linellau). Mae tua 46% o'r holl newidiadau a gyflwynwyd yn 5.11 yn gysylltiedig â gyrwyr dyfais, mae tua 16% o'r newidiadau yn ymwneud â diweddaru cod sy'n benodol i bensaernïaeth caledwedd, mae 13% yn gysylltiedig â'r pentwr rhwydwaith, mae 3% yn gysylltiedig â systemau ffeiliau, a 4% yn gysylltiedig ag is-systemau cnewyllyn mewnol.

Prif arloesiadau:

  • Is-system ddisg, systemau I/O a ffeiliau
    • Mae nifer o opsiynau mowntio wedi'u hychwanegu at Btrfs i'w defnyddio wrth adfer data o system ffeiliau sydd wedi'i difrodi: “rescue = ignorebadroots” ar gyfer mowntio, er gwaethaf difrod i rai coed gwraidd (maint, uuid, ail-leoli data, dyfais, csum, gofod rhydd), “ rescue=ignoredatacsums" i analluogi gwirio checksum am ddata ac "rescue=all" i alluogi'r moddau 'ignorebadroots', 'ignoredatacsums' a 'nologreplay' ar yr un pryd. Mae'r opsiwn gosod "inode_cache", a oedd yn anghymeradwy o'r blaen, wedi dod i ben. Mae'r cod wedi'i baratoi i weithredu cefnogaeth ar gyfer blociau gyda metadata a data sy'n llai na maint tudalen (PAGE_SIZE), yn ogystal â chefnogaeth ar gyfer modd dyrannu gofod parth. Mae ceisiadau heb eu clustogi (IO Uniongyrchol) wedi'u symud i'r seilwaith amlap. Mae perfformiad nifer o lawdriniaethau wedi'i optimeiddio; mewn rhai achosion, gall y cyflymiad gyrraedd degau y cant.
    • Mae XFS yn gweithredu'r faner "atgyweirio angen", sy'n nodi'r angen am atgyweirio. Pan fydd y faner hon wedi'i gosod, ni ellir gosod y system ffeiliau nes bod y faner yn cael ei ailosod gan y cyfleustodau xfs_repair.
    • Dim ond atgyweiriadau ac optimeiddiadau y mae Ext4 yn eu cynnig, yn ogystal â glanhau cod.
    • Caniateir ail-allforio systemau ffeiliau sydd wedi'u gosod dros NFS (h.y. gellir allforio rhaniad wedi'i osod trwy NFS trwy NFS a'i ddefnyddio fel storfa ganolraddol).
    • Mae'r alwad system close_range(), sy'n caniatáu proses i gau ystod gyfan o ddisgrifyddion ffeil agored ar unwaith, wedi ychwanegu opsiwn CLOSE_RANGE_CLOEXEC i gau disgrifyddion yn y modd agos-ar-weithredol.
    • Mae system ffeiliau F2FS yn ychwanegu galwadau ioctl() newydd i ganiatáu rheolaeth gofod defnyddiwr dros ba ffeiliau sy'n cael eu storio ar ffurf gywasgedig. Ychwanegwyd opsiwn "compress_mode" i ddewis a ddylid gosod y triniwr cywasgu ar ochr y cnewyllyn neu yn y gofod defnyddiwr.
    • Wedi darparu'r gallu i osod Overlayfs trwy brosesau di-freintiedig gan ddefnyddio gofod enw defnyddiwr ar wahân. I wirio cydymffurfiaeth â gweithrediad y model diogelwch, cynhaliwyd archwiliad cod llawn. Mae Overlayfs hefyd yn ychwanegu'r gallu i redeg gan ddefnyddio copïau o ddelweddau system ffeiliau trwy analluogi gwirio UUID yn ddewisol.
    • Mae system ffeiliau Ceph wedi ychwanegu cefnogaeth i'r protocol msgr2.1, sy'n caniatáu defnyddio'r algorithm AES-GCM wrth drosglwyddo data ar ffurf wedi'i amgryptio.
    • Mae'r modiwl dm-multipath yn gweithredu'r gallu i ystyried affinedd CPU (“affinedd IO”) wrth ddewis y llwybr ar gyfer ceisiadau I / O.
  • Gwasanaethau cof a system
    • Mae mecanwaith rhyng-gipio galwadau system newydd wedi'i ychwanegu, yn seiliedig ar prctl(), sy'n eich galluogi i gynhyrchu eithriadau o ofod defnyddwyr wrth gyrchu galwad system benodol ac efelychu ei gweithrediad. Mae angen y swyddogaeth hon yn Wine a Proton i efelychu galwadau system Windows, sy'n angenrheidiol i sicrhau cydnawsedd â gemau a rhaglenni sy'n perfformio galwadau system yn uniongyrchol gan osgoi API Windows (er enghraifft, i amddiffyn rhag defnydd anawdurdodedig).
    • Mae gan yr alwad system userfaultfd(), a ddyluniwyd i drin diffygion tudalennau (mynediad i dudalennau cof heb eu dyrannu) yng ngofod y defnyddiwr, y gallu bellach i analluogi trin eithriadau sy'n digwydd ar lefel y cnewyllyn i'w gwneud yn anoddach manteisio ar rai gwendidau.
    • Mae is-system BPF wedi ychwanegu cefnogaeth ar gyfer storio tasg-lleol, sy'n darparu rhwymo data i driniwr BPF penodol.
    • Mae cyfrifo defnydd cof gan raglenni BPF wedi'i ailgynllunio'n llwyr - mae rheolydd cgroup wedi'i gynnig yn lle memlock rlimit i reoli defnydd cof mewn gwrthrychau BPF.
    • Mae mecanwaith BTF (Fformat Math BPF), sy'n darparu gwybodaeth gwirio math mewn ffuggod BPF, yn darparu cefnogaeth ar gyfer modiwlau cnewyllyn.
    • Ychwanegwyd cefnogaeth ar gyfer galwadau system shutdown(), renameat2() a unlinkat() i'r rhyngwyneb I/O asyncronaidd io_uring. Wrth ffonio io_uring_enter(), mae'r gallu i nodi terfyn amser wedi'i ychwanegu (gallwch wirio cefnogaeth i'r ddadl i nodi terfyn amser gan ddefnyddio'r faner IORING_FEAT_EXT_ARG).
    • Mae'r bensaernïaeth ia64 a ddefnyddir mewn proseswyr Intel Itanium wedi'i symud i'r categori amddifad, sy'n golygu bod y prawf modd wedi dod i ben. Rhoddodd Hewlett Packard Enterprise y gorau i dderbyn archebion ar gyfer offer Itanium newydd, a gwnaeth Intel hynny y llynedd.
    • Mae cefnogaeth i systemau sy'n seiliedig ar bensaernïaeth MicroBlaze nad ydynt yn cynnwys uned rheoli cof (MMU) wedi'i derfynu. Ni welwyd systemau o'r fath mewn bywyd bob dydd ers amser maith.
    • Ar gyfer pensaernïaeth MIPS, mae cefnogaeth ar gyfer profi cwmpas cod wedi'i ychwanegu gan ddefnyddio cyfleustodau gcov.
    • Cefnogaeth ychwanegol i'r bws ategol rhithwir ar gyfer rhyngwynebu â dyfeisiau aml-swyddogaeth sy'n cyfuno ymarferoldeb sy'n gofyn am wahanol yrwyr (er enghraifft, cardiau rhwydwaith gyda chefnogaeth Ethernet a RDMA). Gellir defnyddio'r bws i aseinio gyrrwr cynradd ac eilaidd i ddyfais, mewn sefyllfaoedd lle mae'r defnydd o'r is-system MFD (Dyfeisiau Aml-Swyddogaeth) yn broblemus.
    • Ar gyfer pensaernïaeth RISC-V, ychwanegwyd cefnogaeth ar gyfer system dyrannu cof CMA (Contiguous Memory Allocator), sydd wedi'i optimeiddio ar gyfer dyrannu ardaloedd cof cyffiniol mawr gan ddefnyddio technegau symud tudalennau cof. Ar gyfer RISC-V, mae offer hefyd yn cael eu rhoi ar waith i gyfyngu mynediad i /dev/mem ac ystyried amser prosesu ymyrraeth.
    • Для 32-разрядных систем ARM добавлена поддержка отладочного инструмента KASan (Kernel address sanitizer), обеспечивающего выявление ошибок при работе с памятью. Для 64-разрядных ARM реализация KASan переведена на использование тегов MTE (MemTag).
    • Ychwanegwyd galwad system epoll_pwait2() i ganiatáu seibiannau gyda thrachywiredd nanosecond (mae galwad epoll_wait yn trin milieiliadau).
    • Mae'r system adeiladu bellach yn dangos gwall wrth geisio adeiladu modiwlau cnewyllyn y gellir eu llwytho lle nad yw'r drwydded cod wedi'i diffinio gan ddefnyddio'r macro MODULE_LICENSE(). O hyn ymlaen, bydd defnyddio'r macro EXPORT_SYMBOL() ar gyfer swyddogaethau statig hefyd yn achosi gwall adeiladu.
    • Cefnogaeth ychwanegol ar gyfer mapio gwrthrychau GEM o'r cof a ddefnyddiwyd ar gyfer I/O, a oedd yn ei gwneud hi'n bosibl cyflymu'r gwaith gyda'r byffer ffrâm ar rai pensaernïaeth.
    • Mae Kconfig wedi gollwng cefnogaeth ar gyfer Qt4 (tra'n cynnal cefnogaeth i Qt5, GTK a Ncurses).
  • Rhithwiroli a Diogelwch
    • Mae cefnogaeth ar gyfer modd ymateb cyflym wedi'i ychwanegu at alwad system seccomp (), sy'n eich galluogi i benderfynu'n gyflym iawn a yw galwad system benodol yn cael ei chaniatáu neu ei gwahardd yn seiliedig ar y map didau gweithredu cyson sydd ynghlwm wrth y broses, nad oes angen ei redeg triniwr BPF.
    • Cydrannau cnewyllyn integredig ar gyfer creu a rheoli cilfachau yn seiliedig ar dechnoleg Intel SGX (Software Guard eXtensions), sy'n caniatáu i gymwysiadau weithredu cod mewn ardaloedd cof wedi'u hamgryptio ynysig, y mae gan weddill y system fynediad cyfyngedig iddynt.
    • Fel rhan o fenter i gyfyngu mynediad o ofod defnyddwyr i'r MSR (cofrestr model-benodol), ysgrifennu at y gofrestr MSR_IA32_ENERGY_PERF_BIAS, sy'n caniatáu ichi newid modd effeithlonrwydd ynni'r prosesydd ("normal", "perfformiad", "save pŵer") , yn cael ei wahardd.
    • Mae'r gallu i analluogi mudo tasgau â blaenoriaeth uchel rhwng CPUs wedi'i symud o'r gangen cnewyllyn-rt ar gyfer systemau amser real.
    • Ar gyfer systemau ARM64, mae'r gallu i ddefnyddio tagiau MTE (MemTag, Estyniad Tagio Cof) ar gyfer cyfeiriadau cof trinwyr signal wedi'i ychwanegu. Mae'r defnydd o MTE wedi'i alluogi trwy nodi'r opsiwn SA_EXPOSE_TAGBITS yn sigaction() ac mae'n caniatáu i chi wirio'r defnydd cywir o awgrymiadau i rwystro rhag ecsbloetio gwendidau a achosir gan gyrchu blociau cof sydd eisoes wedi'u rhyddhau, gorlifoedd byffer, mynediadau cyn cychwyn, a defnyddio y tu allan i'r cyd-destun presennol.
    • Ychwanegwyd y paramedr "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", sy'n caniatáu i'r is-system dm-verity wirio llofnodion stwnsh tystysgrifau a osodwyd yn y cylch allweddi eilaidd. Yn ymarferol, mae'r gosodiad yn caniatáu ichi wirio nid yn unig tystysgrifau sydd wedi'u hymgorffori yn y cnewyllyn, ond hefyd tystysgrifau a lwythwyd yn ystod y llawdriniaeth, sy'n ei gwneud hi'n bosibl diweddaru tystysgrifau heb ddiweddaru'r cnewyllyn cyfan.
    • Mae modd defnyddiwr Linux wedi ychwanegu cefnogaeth ar gyfer modd atal-i-segur, sy'n eich galluogi i rewi'r amgylchedd a defnyddio'r signal SIGUSR1 i ddeffro o'r modd cysgu.
    • Mae'r mecanwaith virtio-mem, sy'n eich galluogi i blygio poeth a datgysylltu cof â pheiriannau rhithwir, wedi ychwanegu cefnogaeth ar gyfer Modd Bloc Mawr (BBM), sy'n ei gwneud hi'n bosibl trosglwyddo neu gymryd cof mewn blociau sy'n fwy na maint y cof cnewyllyn. bloc, sy'n angenrheidiol i wneud y gorau o VFIO yn QEMU.
    • Mae cefnogaeth i seiffr CHACHA20-POLY1305 wedi'i ychwanegu at weithrediad cnewyllyn TLS.
  • Is-system rhwydwaith
    • Ar gyfer 802.1Q (VLAN), mae mecanwaith rheoli methiant cysylltiad (CFM, Connectivity Fault Management) wedi'i weithredu, sy'n eich galluogi i nodi, gwirio ac ynysu methiannau mewn rhwydweithiau â phontydd rhithwir (Rhwydweithiau Pontydd Rhithwir). Er enghraifft, gellir defnyddio CFM i ynysu problemau mewn rhwydweithiau sy'n rhychwantu sefydliadau annibynnol lluosog y mae eu gweithwyr yn unig yn cael mynediad at eu hoffer eu hunain.
    • Cefnogaeth ychwanegol ar gyfer amgáu pecynnau protocol SCTP mewn pecynnau CDU (RFC 6951), sy'n eich galluogi i ddefnyddio SCTP ar rwydweithiau gyda chyfieithwyr cyfeiriadau hŷn nad ydynt yn cefnogi SCTP yn uniongyrchol, yn ogystal â gweithredu SCTP ar systemau nad ydynt yn darparu mynediad uniongyrchol i'r IP haenen.
    • Mae gweithredu technoleg WiMAX wedi'i symud i lwyfannu a bwriedir ei ddileu yn y dyfodol os nad oes unrhyw ddefnyddwyr sydd angen WiMAX. Nid yw WiMAX bellach yn cael ei ddefnyddio mewn rhwydweithiau cyhoeddus, ac yn y cnewyllyn yr unig yrrwr y gellir defnyddio WiMAX ag ef yw'r gyrrwr Intel 2400m sydd wedi dyddio. Daeth cefnogaeth WiMAX i ben yn ffurfweddydd rhwydwaith NetworkManager yn 2015. Ar hyn o bryd, mae technolegau fel LTE, HSPA + a Wi-Fi 802.11n yn disodli WiMax bron yn llwyr.
    • Mae gwaith wedi'i wneud i optimeiddio perfformiad prosesu traffig TCP sy'n dod i mewn yn y modd serocopi, h.y. heb gopïo ychwanegol i glustogau newydd. Ar gyfer traffig canolig ei faint, sy'n gorchuddio degau neu gannoedd o cilobeit o ddata, mae defnyddio serocopi yn lle recvmsg() yn amlwg yn fwy effeithiol. Er enghraifft, roedd y newidiadau a roddwyd ar waith yn ei gwneud hi'n bosibl cynyddu effeithlonrwydd prosesu traffig tebyg i RPC gyda negeseuon 32 KB wrth ddefnyddio zerocopy 60-70%.
    • Ychwanegwyd galwadau ioctl() newydd i greu pontydd rhwydwaith sy'n rhychwantu cysylltiadau PPP lluosog. Mae'r gallu arfaethedig yn caniatáu i fframiau symud o un sianel i'r llall, er enghraifft o PPPoE i sesiwn PPPoL2TP.
    • Integreiddio i graidd MPTCP (MultiPath TCP), estyniad o'r protocol TCP ar gyfer trefnu gweithrediad cysylltiad TCP â danfon pecynnau ar yr un pryd ar hyd sawl llwybr trwy wahanol ryngwynebau rhwydwaith sy'n gysylltiedig â gwahanol gyfeiriadau IP. Mae'r datganiad newydd yn cyflwyno cefnogaeth i'r opsiwn ADD_ADDR i hysbysebu cyfeiriadau IP sydd ar gael y gellir eu cysylltu â nhw wrth ychwanegu llifoedd newydd at gysylltiad MPTCP presennol.
    • Ychwanegwyd y gallu i ffurfweddu gweithredoedd pan eir y tu hwnt i'r gyllideb pleidleisio cysylltiad (pleidleisio prysur). Roedd y modd SO_BUSY_POLL a oedd ar gael yn flaenorol yn golygu newid i softirq pan oedd y gyllideb wedi dod i ben. Ar gyfer rhaglenni sydd angen parhau i ddefnyddio pleidleisio, cynigir opsiwn newydd SO_PREFER_BUSY_POLL.
    • Mae IPv6 yn gweithredu cefnogaeth ar gyfer moddau SRv6 End.DT4 a End.DT6, a ddefnyddir i greu dyfeisiau IPv4 L3 VPNs aml-ddefnyddiwr a dyfeisiau VRF (llwybro ac anfon ymlaen rhithwir).
    • Unodd Netfilter weithrediad mynegiadau gosod, a oedd yn ei gwneud hi'n bosibl nodi ymadroddion lluosog ar gyfer pob elfen o restrau gosod.
    • Mae APIs wedi'u hychwanegu at y pentwr diwifr 802.11 i ffurfweddu terfynau pŵer SAR, yn ogystal â pharamedrau AE PWE ac AU MCS. Mae gyrrwr iwlwifi Intel wedi ychwanegu cefnogaeth ar gyfer yr ystod 6GHz (Band Ultra Uchel). Mae gyrrwr Qualcomm Ath11k wedi ychwanegu cefnogaeth ar gyfer technoleg FILS (Gosodiad Cyswllt Cychwynnol Cyflym, wedi'i safoni fel IEEE 802.11ai), sy'n eich galluogi i gael gwared ar oedi wrth grwydro wrth fudo o un pwynt mynediad i'r llall.
  • Offer
    • Mae'r gyrrwr amdgpu yn darparu cefnogaeth ar gyfer AMD "Green Sardine" APU (Ryzen 5000) a "Dimgrey Cavefish" GPU (Navi 2), yn ogystal â chefnogaeth gychwynnol i AMD Van Gogh APU gyda craidd Zen 2 a RDNA 2 GPU (Navi 2). Cefnogaeth ychwanegol ar gyfer dynodwyr APU Renoir newydd (yn seiliedig ar CPU Zen 2 a Vega GPU).
    • Mae'r gyrrwr i915 ar gyfer cardiau fideo Intel yn cefnogi technoleg IS (Graddio Cyfanrif) gyda gweithrediad hidlydd ar gyfer cynyddu'r raddfa gan ystyried cyflwr picsel cyfagos (rhyngosodiad cymydog agosaf) i bennu lliw picsel coll. Mae cefnogaeth ar gyfer cardiau Intel DG1 arwahanol wedi'i ehangu. Mae cefnogaeth ar gyfer technoleg “Big Joiner” wedi'i rhoi ar waith, sydd wedi bod yn bresennol ers sglodion Ice Lake / Gen11 ac sy'n caniatáu defnyddio un trawsgodiwr i brosesu dwy ffrwd, er enghraifft, ar gyfer allbwn i sgrin 8K trwy un DisplayPort. Ychwanegwyd modd ar gyfer newid yn asyncronig rhwng dau glustog mewn cof fideo (fflip async).
    • В драйвер nouveau добавлена начальная поддержка GPU NVIDIA на базе микроархитектуры «Ampere» (GA100, GeForce RTX 30xx), пока ограниченная средствами для управления видеорежимами.
    • Cefnogaeth ychwanegol i'r protocol 3WIRE a ddefnyddir mewn paneli LCD. Cefnogaeth ychwanegol ar gyfer paneli novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ac ABT Y030XX067A 3.0. Ar wahân, gallwn nodi'r gefnogaeth i'r panel o ffonau smart OnePlus 6 a 6T, a wnaeth hi'n bosibl trefnu llwytho cnewyllyn heb ei addasu ar ddyfeisiau.
    • Cefnogaeth ychwanegol i reolwr gwesteiwr USB4 arwahanol cyntaf Intel, Maple Ridge.
    • Cefnogaeth ychwanegol ar gyfer Allwinner H6 I2S, Dyfeisiau Analog ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI a XCVR, codecau sain Realtek RT715 a Qualcomm SM8250.
    • Cefnogaeth ychwanegol ar gyfer byrddau, dyfeisiau a llwyfannau ARM: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192 / MT6779 / MT8167, MStar Infinity2MCM730 Arm NPl 382, Nuvoton , Marvell NPl ​Mikrotik yn seiliedig ar Marvell Prestera 98DX3236, gweinyddwyr gyda Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, “Trogdor” Chromebook, Kobol Helios64, Engicam PX30.Core.
    • Cefnogaeth integredig i gonsol gemau Ouya yn seiliedig ar NVIDIA Tegra 3.

Ar yr un pryd, ffurfiodd Sefydliad Meddalwedd Rydd America Ladin fersiwn o'r cnewyllyn 5.11 hollol rhad ac am ddim - Linux-libre 5.11-gnu, wedi'i glirio o elfennau o firmware a gyrwyr sy'n cynnwys cydrannau nad ydynt yn rhydd neu adrannau cod, y mae eu cwmpas yn gyfyngedig gan y gwneuthurwr. Mae'r datganiad newydd yn glanhau gyrwyr ar gyfer qat_4xxx (crypto), lt9611uxcm (pont dsi / hdmi), ccs / smia ++ (synhwyrydd), ath11k_pci, transceiver sain nxp a rheolwr pci mhi. Cod glanhau blob wedi'i ddiweddaru mewn gyrwyr ac is-systemau amdgpu, btqca, btrtl, btusb, i915 csr. Smotiau newydd anabl yn m3 rproc, cloc ptp idt82p33 a braich qualcomm64.

Ffynhonnell: opennet.ru

Ychwanegu sylw