Pas dy muajsh zhvillimi, Linus Torvalds prezantoi publikimin e bërthamës Linux 5.11. Ndër ndryshimet më të dukshme janë: mbështetje për enklavat Intel SGX, një mekanizëm të ri për kapjen e thirrjeve të sistemit, autobuzi virtual auxiliary, ndalimi i ndërtimit të moduleve pa MODULE_LICENSE(), një mod të shpejtë për filtrimin e thirrjeve të sistemit në seccomp, ndalimi i mbështetjes për arkitekturën ia64, transferimi i teknologjisë WiMAX në degën "staging", dhe mundësia e kapsulimit SCTP në UDP.
Në versionin e ri janë pranuar 15480 korrigjime nga 1991 zhvillues, madhësia e patch-it është 72 MB (ndryshimet prekin 12090 skeda, janë shtuar 868025 linja kodi, janë fshirë 261456 linja). Rreth 46% e të gjitha ndryshimeve të paraqitura në 5.11 janë të lidhura me drejtuesit e pajisjeve, rreth 16% e ndryshimeve lidhen me përmirësimin e kodit të veçantë për arkitekturat harduerike, 13% lidhen me stakun rrjetë, 3% me sistemet e skedarëve dhe 4% me nën-sistemet e brendshme të bërthamës.
TĂ« rejat kryesore:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- NĂ« Btrfs janĂ« shtuar disa mundĂ«si montimi pĂ«r t'u aplikuar gjatĂ« rikuperimit tĂ« tĂ« dhĂ«nave nga njĂ« sistem skedarĂ«sh tĂ« dĂ«mtuar: 'rescue=ignorebadroots' pĂ«r montim pavarĂ«sisht dĂ«mtimeve tĂ« disa pemĂ«ve rrĂ«njĂ«sore (extent, uuid, relokimi i tĂ« dhĂ«nave, pajisja, csum, hapĂ«sira e lirĂ«), 'rescue=ignoredatacsums' pĂ«r tĂ« çaktivizuar verifikimin e kontrolleve tĂ« shumicĂ«s pĂ«r tĂ« dhĂ«nat dhe 'rescue=all' pĂ«r tĂ« aktivizuar pĂ«r njĂ« herĂ« tĂ« gjithĂ« modet 'ignorebadroots', 'ignoredatacsums' dhe 'nologreplay'. Ka pĂ«rfunduar mbĂ«shtetje pĂ«r opsionin e montimit 'inode_cache', i cili mĂ« herĂ«t ishte shpallur i vjetruar. ĂshtĂ« bĂ«rĂ« pĂ«rgatitja e kodit pĂ«r tĂ« realizuar mbĂ«shtetje pĂ«r blloqet e metadatat dhe tĂ« dhĂ«nave me madhĂ«si mĂ« tĂ« vogĂ«l se faqja (PAGE_SIZE), si dhe mbĂ«shtetje pĂ«r mĂ«nyrĂ«n e alokimit tĂ« zonuar. KĂ«rkesat e pa-buffersuara (I/O direkt) janĂ« kaluar nĂ« infrastrukturĂ«n iomap. Performanca e njĂ« sĂ«rĂ« operacioneve Ă«shtĂ« optimizuar, nĂ« disa raste pĂ«rshpejtimi mund tĂ« arrijĂ« disa dhjetĂ«ra pĂ«rqind.
- Në XFS është implementuar flagu 'needsrepair', i cili sinjalizon nevojën për rikuperim. Kur ky flag është vendosur, sistemi skedarësh nuk mund të montohet derisa flagu të hiqet nga utilitari xfs_repair.
- Në Ext4 janë ofruar vetëm rregullime gabimesh dhe optimizime, si dhe është bërë pastrimi i kodit.
- Rifillimi i eksportit të sistemeve të skedarëve, të montuar mbi NFS (dmth. një pjesë e montuar përmes NFS tani mund të eksportohen përmes NFS dhe të përdoren si një cache ndërmjetësore) është lejuar.
- Në thirrjen sistemike close_range(), e cila lejon një proces të mbyllë një gamë të tërë skedarëve të hapur, është shtuar opsioni CLOSE_RANGE_CLOEXEC për të mbyllur skedarët në modalitetin close-on-exec.
- NĂ« sistemin e skedarĂ«ve F2FS janĂ« shtuar thirrje tĂ« reja ioctl(), tĂ« cilat lejojnĂ« menaxhimin nga hapĂ«sira e pĂ«rdoruesit tĂ« skedarĂ«ve qĂ« ruhen nĂ« formĂ« tĂ« kompresuar. ĂshtĂ« shtuar njĂ« opsion montimi "compress_mode=" pĂ«r tĂ« zgjedhur vendndodhjen e menaxherit tĂ« kompresimit nĂ« anĂ«n e bĂ«rthamĂ«s ose nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit.
- E mundësuar montimin e Overlayfs nga proceset jo privilegjuese, duke përdorur një hapësirë të veçantë identifikimi të përdoruesve (user namespace). Për të verifikuar përputhshmërinë e realizimit të modelit të sigurisë është kryer një audit i plotë i kodit. Në Overlayfs është shtuar gjithashtu mundësia e fillimit duke përdorur kopjet e imazheve të sistemeve të skedarëve përmes një çaktivizimi të opsional të kontrollit të UUID.
- Në sistemin e skedarëve Ceph është shtuar mbështetje për protokollin msgr2.1, i cili lejon përdorimin e algoritmit AES-GCM gjatë transferimit të të dhënave në mënyrë të enkriptuar.
- NĂ« modulinn dm-multipath Ă«shtĂ« realizuar mundĂ«sia e llogaritjes sĂ« lidhjes me CPU (âIO affinityâ) gjatĂ« zgjedhjes sĂ« rrugĂ«s pĂ«r kĂ«rkesat e hyrjes/daljes.
- Kujtesa dhe shërbimet sistemore
- Shtuar një mekanizëm të ri për kapjen e thirrjeve sistemike, i bazuar në prctl() dhe i cili lejon që nga hapësira e përdoruesit të gjenerohen përjashtime gjatë thirrjes për një thirrje të caktuar sistemike dhe të emulohet ekzekutimi i saj. Kjo funksionalitet është e nevojshme në Wine dhe Proton për emulimin e thirrjeve sistemike të Windows, e cila është e domosdoshme për të garantuar përputhshmërinë me lojërat dhe programet që ekzekutojnë direkt thirrjet sistemike në anashkalim të API-së Windows (p.sh., për të mbrojtur nga përdorimi i paautorizuar).
- Në thirrjen sistemike userfaultfd(), e cila është e destinuar për përpunimin e gabimeve të faqeve (aksesit në faqe të pamundësuara) në hapësirën e përdoruesit, tani është e mundur të çaktivizohet përpunimi i përjashtimeve që ndodhin në nivelin e bërthamës, për të vështirësuar shfrytëzimin e disa dobësive.
- Në nën sistemin BPF është shtuar përkrahja për ruajtjen e të dhënave lokale për detyrat (task-local storage), e cila siguron lidhjen e të dhënave me një përpunues të caktuar BPF.
- Ka kaluar njĂ« ripĂ«rpunim i plotĂ« i llogaritjes sĂ« konsumit tĂ« memories nga programet BPF â pĂ«r menaxhimin e shfrytĂ«zimit tĂ« memories nĂ« objekte BPF, nĂ« vend tĂ« memlock rlimit Ă«shtĂ« propozuar njĂ« kontrollues cgroup.
- Në mekanizmin BTF (BPF Type Format), i cili ofron informacion për verifikimin e tipeve në pseudokodin BPF, është implementuar mbështetje për modulet e bërthamës.
- Në ndërfaqen e hyrjes/faqes asinkrone io_uring është shtuar mbështetje për thirrjet sistemike shutdown(), renameat2() dhe unlinkat(). Gjatë thirrjes së io_uring_enter() është shtuar mundësia për të specifikuar një kohë të pritjes (kontrolloni mbështetje për argumentin për specifikimin e kohës së pritjes nëpërmjet flagut IORING_FEAT_EXT_ARG).
- Arkitektura ia64, e pĂ«rdorur nĂ« procesorĂ«t Intel Itanium, Ă«shtĂ« kaluar nĂ« kategorinĂ« e braktisur (âorphanedâ), e cila nĂ«nkupton ndalimin e testimit. Kompania Hewlett Packard Enterprise ka ndalur pranimet e porosive pĂ«r pajisje tĂ« reja Itanium, ndĂ«rsa Intel e bĂ«ri kĂ«tĂ« vitin e kaluar.
- ĂshtĂ« ndalur mbĂ«shtetja pĂ«r sistemet bazuar nĂ« arkitekturĂ«n MicroBlaze, tĂ« paekipuar me njĂ«sinĂ« e kontrollit tĂ« memories (MMU). Sistemet e tilla nuk hasen mĂ« shpesh nĂ« pĂ«rdorim.
- Për arkitekturën MIPS është shtuar mbështetje për testimin e mbulimit të kodit (coverage testing) përmes utilitarit gcov.
- Shtohet mbështetja për autobusin virtual auxiliary për ndërveprimin me pajisje multifunksionale, që kombinojnë funksionalitetet që kërkojnë drejtues të ndryshëm (p.sh., kartat e rrjetit me mbështetje për Ethernet dhe RDMA). Autobusi mund të përdoret për të caktuar drejtuesin primar dhe atë dytësor për pajisjen, në situatat kur përdorimi i nën-sistemit MFD (Dispozita Multifunksionale) është problematik.
- Për arkitekturën RISC-V, është shtuar mbështetje për sistemin e shpërndarjes së memories CMA (Contiguous Memory Allocator), e cila është optimizuar për alokimin e zonave të mëdha të vazhdueshme të memories duke përdorur teknikën e lëvizjes së faqeve të memories. Për RISC-V janë implementuar gjithashtu mjete për të kufizuar aksesin në \/dev\/mem dhe për të monitoruar kohën e procesimit të ndërprerjeve.
- Për sistemet 32-bit ARM është shtuar mbështetje për mjetin e debugimit KASan (Kernel address sanitizer), i cili siguron identifikimin e gabimeve gjatë punës me memorie. Për ARM 64-bit, implementimi i KASan është kaluar në përdorimin e etiketave MTE (MemTag).
- Shtohet thirrja sistemike epoll_pwait2(), e cila lejon përdorimin e afateve me saktësi nanosekondash (thirrja epoll_wait manipuluar me milisekonda).
- Sistemi i ndërtimit siguron shfaqjen e një gabimi kur përpiqet të ndërtojë module të ngarkuara bërthamor, në të cilat me makron MODULE_LICENSE() nuk është përcaktuar licenca për kodin. Gabimi gjatë ndërtimit tashmë do të shkaktohet gjithashtu nga përdorimi i makros EXPORT_SYMBOL() për funksionet statike.
- Shtuar mbështetje për hartimin e objekteve GEM nga memoria e angazhuar për hyrje/dalje, duke lejuar përshpejtimin në punën me framebuffer në disa arkitektura.
- Në Kconfig është ndaluar mbështetje për Qt4 (është lënë mbështetja për Qt5, GTK dhe Ncurses).
- Virtualizimi dhe siguria
- Në thirrjen sistemore seccomp() është shtuar mbështetje për një mod të reagimit të shpejtë, duke lejuar përcaktimin shumë të shpejtë nëse një thirrje sistemore është e lejuar ose e ndaluar në bazë të një tabele fuqish që i është lidhur procesit (bitmap i veprimeve të vazhdueshme), e cila nuk kërkon ekzekutimin e një përpunuesi BPF.
- I integruar komponentet e bërthamës për krijimin dhe menaxhimin e enclave-ve mbi bazën e teknologjisë Intel SGX (Software Guard eXtensions), duke lejuar aplikacioneve të ekzekutojnë kodin në zona të izoluara dhe të enkriptuara të memories, me qasje të kufizuar për pjesën tjetër të sistemit.
- NĂ« kuadĂ«r tĂ« iniciativĂ«s pĂ«r tĂ« kufizuar qasjen nga hapĂ«sira e pĂ«rdoruesit nĂ« regjistrat MSR (regjistri specifik pĂ«r modelin), Ă«shtĂ« ndaluar shkrimi nĂ« regjistrin MSR_IA32_ENERGY_PERF_BIAS, i cili lejon ndryshimin e modit tĂ« efikasitetit energjetik tĂ« procesorit (ânormalâ, âperformancĂ«â, âkursim energjieâ).
- Nga dega kernel-rt për sistemet në kohë reale është transferuar mundësia për të çaktivizuar migrimin e detyrave me prioritet të lartë mes CPU-ve.
- Për sistemet ARM64 është shtuar mundësia për të aplikuar etiketat MTE (MemTag, Zgjerimi i Etiqetës së Memories) për adresat e memories së trajtuesve të sinjaleve. Përdorimi i MTE aktivizohet përmes specifikimit të opsionit SA_EXPOSE_TAGBITS në sigaction() dhe lejon organizimin e kontrollit të duhur të përdorimit të treguesve për të parandaluar shfrytëzimin e dobësive të shkaktuara nga aksesimi i blloqeve të memories që janë çliruar tashmë, mbushjeve të buffers, aksesimeve para inicializimit dhe përdorimit jashtë kontekstit aktual.
- Shtuar parametri "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", i cili lejon nën-sistemin dm-verity të verifikojë nënshkrimet hash të certifikatave të vendosura në depozitat sekondarë të çelësave (keyring). Në praktikë, kjo konfigurim lejon verifikimin e certifikatave që janë jo vetëm të integruara në bërthamë, por edhe të ngarkuara gjatë funksionimit, duke bërë të mundur azhurnimin e certifikatave pa nevojën për të azhurnuar të gjithë bërthamën.
- Në User-mode Linux është shtuar mbështetje për modin suspend-to-idle, i cili lejon ngrirjen e ambientit dhe përdorimin e sinjalit SIGUSR1 për daljen nga gjumi.
- Në mekanizmin virtio-mem, i cili lejon lidhjen dhe shkëputjen e memorie të nxehtë për makinat virtuale, është shtuar mbështetje për modin e bllokut të madh (BBM, Big Block Mode), duke bërë të mundur transferimin ose tërheqjen e memories në blloqe që kalojnë madhësinë e bllokut të memories së bërthamës, gjë që është e nevojshme për optimizimin e VFIO në QEMU.
- Në implementimin e TLS që punon në nivelin e bërthamës, është shtuar mbështetje për algoritmin e enkriptimit CHACHA20-POLY1305.
- Sistemi i rrjetit
- Për 802.1Q (VLAN) është zbatuar një mekanizëm menaxhimi të dështimeve të lidhjes (CFM, Menaxhimi i Dështimeve të Konnectivitetit), që lejon identifikimin, verifikimin dhe izolimin e dështimeve në rrjetet me ura virtuale (Rrjetet e Urave Virtuale). Për shembull, CFM mund të përdoret për lokalizimin e problemeve në rrjete që përfshijnë disa organizata të pavarura, punonjësit e të cilave kanë qasje vetëm në pajisjet e tyre.
- Shtuar mbështetje për inkapsulimin e paketave të protokollit SCTP në paketat UDP (RFC 6951), që lejon përdorimin e SCTP në rrjete me translatorë të vjetër adresash, të cilët nuk mbështesin drejtpërdrejt SCTP, si dhe implementimin e SCTP në sisteme që nuk ofrojnë qasje direkte në nivelin IP.
- Implementimi i teknologjisë WiMAX është zhvendosur në staging dhe në të ardhmen planifikohet për fshirje, nëse nuk do të gjejnë përdorues që kanë nevojë për WiMAX. WiMAX tashmë nuk përdoret në rrjetet publike, dhe në kernel, i vetmi drejtor me të cilin mund të përdoret WiMAX mbetet drejtori i vjetër Intel 2400m. Në konfiguruesin e rrjetit NetworkManager, mbështetja për WiMAX është ndaluar në vitin 2015. Aktualisht, WiMax është praktisht plotësisht e zëvendësuar nga teknologjitë si LTE, HSPA+ dhe Wi-Fi 802.11n.
- ĂshtĂ« kryer punĂ« pĂ«r optimizimin e performances sĂ« pĂ«rpunimit tĂ« trafikut TCP nĂ« modin zerocopy, dmth pa kopje shtesĂ« nĂ« bufe tĂ« reja. PĂ«r trafikun e madhĂ«sisĂ« mesatare, qĂ« pĂ«rfshin dhjetĂ«ra ose disa qindra kilobajta tĂ« dhĂ«nash, pĂ«rdorimi i zerocopy nĂ« vend tĂ« recvmsg() Ă«shtĂ« dukshĂ«m mĂ« efikas. PĂ«r shembull, ndryshimet e implementuara lejuan rritjen e efikasitetit tĂ« pĂ«rpunimit tĂ« trafikut nĂ« stilin RPC me mesazhe prej 32 KB duke pĂ«rdorur zerocopy deri nĂ« 60-70%.
- Shtohen thirrje të reja ioctl() për krijimin e urave rrjetërore që përfshijnë disa kanale PPP. Mundësia e propozuar lejon kuadrit të lëvizë nga një kanal në tjetrin, për shembull, nga PPPoE në seancën PPPoL2TP.
- Integrimi në bërthamën MPTCP (MultiPath TCP) ka vazhduar, një zgjerim i protokollit TCP për organizimin e punës së lidhjeve TCP me dorëzimin e pakove në të njëjtën kohë nëpërmjet disa rrugëve përmes ndërfaqeve të ndryshme rrjetërore, të lidhura me adresa të ndryshme IP. Në këtë publikim të ri, është implementuar mbështetje për opsionin ADD_ADDR për të njoftuar adresat e disponueshme IP-adresave më të cilat është e mundur të krijohet lidhja gjatë shtimit të rrugëve të reja në një lidhje ekzistuese MPTCP.
- Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« rregulluar veprimet kur buxheti pĂ«r polling-un e lidhjeve (busy-polling) tejkalohet. ReĆŸimi i mĂ«parshĂ«m SO_BUSY_POLL pĂ«rfshinte kalimin nĂ« softirq kur buxheti pĂ«rfundonte. PĂ«r aplikacionet qĂ« duan tĂ« vazhdojnĂ« tĂ« pĂ«rdorin polling, Ă«shtĂ« propozuar njĂ« opsion i ri SO_PREFER_BUSY_POLL.
- Në IPv6 është implementuar mbështetje për modet SRv6 End.DT4 dhe End.DT6, të përdorura për të krijuar IPv4 L3 shumë përdorues. VPN dhe pajisje VRF (Virtual Routing and Forwarding).
- Në Netfilter është unifikuar zbatimi i shprehjeve set, çka lejon specifikimin e disa shprehjeve për çdo element të listave set.
- Në montimin pa tel 802.11 janë shtuar API për rregullimin e kufijve të energjisë SAR, si dhe parametrave AE PWE dhe HE MCS. Në drejtuesin Intel iwlwifi është shtuar mbështetje për bandën 6GHz (Ultra High Band). Në drejtuesin Qualcomm Ath11k është shtuar mbështetje për teknologjinë e konfigurot shpejtë të lidhjes FILS (Fast Initial Link Setup, e standardizuar si IEEE 802.11ai), e cila lejon eliminimin e vonesave gjatë roaming-ut kur migrohet nga një pikë aksesi në një tjetër.
- Pajisjet
- Në drayverin amdgpu është implementuar mbështetje për APU-të AMD "Green Sardine" (Ryzen 5000) dhe GPU-në "Dimgrey Cavefish" (Navi 2), si dhe mbështetje fillestare për APU-në AMD Van Gogh me bërthamën Zen 2 dhe GPU-në RDNA 2 (Navi 2). E shtuar mbështetje për identifikuesit e rinj APU Renoir (të bazuar në CPU-në Zen 2 dhe GPU-në Vega).
- NĂ« drayverin i915 pĂ«r kartat grafike Intel Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r teknologjinĂ« IS (Integer scaling) me realizimin e filtrit pĂ«r rritjen nĂ« pĂ«rputhje me gjendjen e pikseve pĂ«rreth (interpolimi Nearest-neighbor) pĂ«r tĂ« pĂ«rcaktuar ngjyrĂ«n e pikseve qĂ« mungojnĂ«. ĂshtĂ« zgjeruar mbĂ«shtetja pĂ«r kartat grafike diskrete Intel DG1. Implementuar mbĂ«shtetje pĂ«r teknologjinĂ« "Big Joiner", e cila Ă«shtĂ« e pranishme qĂ« nga çipat Ice Lake / Gen11 dhe lejon pĂ«rdorimin e njĂ« transkoduesi pĂ«r tĂ« gjithĂ« pĂ«rpunimin e dy rrjedhave, pĂ«r shembull, pĂ«r ndihmĂ«n nĂ« ekran 8K pĂ«rmes njĂ« DisplayPorti. E shtuar njĂ« mod ndĂ«rrimi asinkron midis dy buferave nĂ« kujtesĂ«n grafike (async flip).
- Në drayverin nouveau është shtuar mbështetje fillestare për GPU-në NVIDIA të bazuar në mikroarkitekturën "Ampere" (GA100, GeForce RTX 30xx), për momentin e kufizuar në mjetet për menaxhimin e modifikimeve grafike.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r protokollin 3WIRE, i pĂ«rdorur nĂ« panelĂ«t LCD. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r panelĂ«t novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 dhe ABT Y030XX067A 3.0. VeçanĂ«risht vlen tĂ« theksohet mbĂ«shtetja pĂ«r panelin e smartphone-ve OnePlus 6 dhe 6T, e cila lehtĂ«soi ngarkimin nĂ« pajisjet me kernel tĂ« pa modifikuar.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r host-kontrollerin e parĂ« disket USB4 Intel Maple Ridge.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kodekĂ«t zĂ« Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI dhe XCVR, Realtek RT715 dhe Qualcomm SM8250.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r platformat ARM, pajisjet dhe platformat: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, Nuvoton NPCM730, Marvell Armada 382, Mikrotik me bazĂ« Marvell Prestera 98DX3236, serverat me Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, Chromebook «Trogdor», Kobol Helios64, Engicam PX30.Core.
- ĂshtĂ« integruar mbĂ«shtetje pĂ«r konsolĂ«n e lojĂ«rave Ouya me bazĂ« NVIDIA Tegra 3.
NjĂ«kohĂ«sisht, Fondi Latin pĂ«r Softin e LirĂ« ka pĂ«rgatitur njĂ« variant plotĂ«sisht tĂ« lirĂ« tĂ« kernelit 5.11 â Linux-libre 5.11-gnu, i pastruar nga elementĂ«t e firmware dhe drejtuesve qĂ« pĂ«rmbajnĂ« komponente ose pjesĂ« kodi qĂ« nuk janĂ« tĂ« lira, me pĂ«rdorim tĂ« kufizuar nga prodhuesi. NĂ« kĂ«tĂ« publikim Ă«shtĂ« bĂ«rĂ« pastrimi i drejtuesve pĂ«r qat_4xxx (crypto), lt9611uxcm (dsi/hdmi bridge), ccs/smia++ (sensor), ath11k_pci, nxp audio transceiver dhe mhi pci controller. Kodi i pastrimit tĂ« blobĂ«ve nĂ« drejtuesit dhe nĂ«n-sistemet amdgpu, btqca, btrtl, btusb, i915 csr Ă«shtĂ« pĂ«rditĂ«suar. BlobĂ«t e rinj nĂ« m3 rproc, idt82p33 ptp clock dhe qualcomm arm64 janĂ« çaktivizuar.
Burimi: opennet.ru
