Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e kernelit Linux 5.18. Ndër ndryshimet më të dukshme: është bërë një pastrim i madh i funksionaliteteve të vjetra, sistemi i skedarëve Reiserfs është shpallur obsolent, janë realizuar ngjarje për gjurmimin e proceseve të përdoruesit, është shtuar mbështetje për mekanizmin e bllokimit të eksploitëve Intel IBT, është aktivizuar një mod për identifikimin e mbushjeve të tamponëve kur përdoret funksioni memcpy(), është shtuar një mekanizëm për gjurmimin e thirrjeve të funksioneve fprobe, është përmirësuar performanca e planifikuesit të detyrave në CPU-të AMD Zen, është përfshirë një drejtues për menaxhimin e funksionalitetit të CPU-ve Intel (SDS), është integruar një pjesë e patch-eve për restrukturimin e skedarëve të titujve, dhe është miratuar përdorimi i standardit C11.
Në versionin e ri janë pranuar 16206 korrigjime nga 2127 zhvillues (në lëshimin e kaluar kishte 14203 korrigjime nga 1995 zhvillues), madhësia e patch-it është 108 MB (ndryshimet preken 14235 skedarë, janë shtuar 1340982 rreshta kodi, janë fshirë 593836 rreshta). Rreth 44% e të gjitha ndryshimeve të paraqitura në 5.18 lidhen me drejtuesit e pajisjeve, rreth 16% e ndryshimeve kanë të bëjnë me përditësimin e kodit të veçantë për arkitekturat hardware, 11% është lidhur me pilein e rrjetit, 3% me sistemet e skedarëve dhe 3% me nën-sistemat e brendshme të kernelit.
Novitet kryesore në kernelin 5.18:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- Në sistemin e skedarëve Btrfs është shtuar mbështetje për kalimin e të dhënave të kompresuara gjatë operacioneve send dhe receive. Më parë, kur përdorej send/receive, ana e dërguesit zhbllokonte të dhënat që ruheshin në formë të kompresuar, ndërsa ana e pranuese ripërshtonte ato para se t'i shkruante. Në kernelin 5.18, aplikacioneve në hapësirën e përdoruesit që përdorin thirrjet send/receive u ofrohet mundësia për të transferuar të dhëna të kompresuara pa rikompresim. Funksionaliteti është realizuar përmes operacioneve të reja ioctl BTRFS_IOC_ENCODED_READ dhe BTRFS_IOC_ENCODED_WRITE, që lejojnë të lexohen dhe shkruhen informacione drejtpërdrejt në ekstente.
PĂ«r mĂ« tepĂ«r, nĂ« Btrfs Ă«shtĂ« rritur performanca e fsync. ĂshtĂ« shtuar mundĂ«sia e dedupikimit dhe ekzekutimit tĂ« reflink (klonim tĂ« metadatave tĂ« njĂ« skedari me krijimin e njĂ« lidhjeje me tĂ« dhĂ«na qĂ« ekzistojnĂ« pa i kopjuar ato) pĂ«r tĂ« gjithĂ« depozitat, pa u kufizuar nĂ« pikat e montimit.
- Në modin e hyrjes direkte (Direct I/O) është mundësuar qasja në skedarët e enkriptuar kur përdoren në fscrypt enkriptimi inline, në të cilin operacionet e enkriptimit dhe dekriptimit realizohen nga kontrollori i skedarëve, jo nga kernel. Në enkriptimin e zakonshëm nga forca e kernelit, qasja në skedarët e enkriptuar përmes Direct I/O si më parë nuk është e mundur, pasi ndodhet adresimi i skedarëve duke kaluar mekanizmin e buferizimit në kernel.
- Në serverin NFS, mbështetja për protokollin NFSv3 është aktivizuar si parazgjedhje, të cilin tani nuk e kërkon aktivizimin e veçantë dhe është në dispozicion me aktivizimin e përgjithshëm NFS. NFSv3 konsiderohet si versioni kryesor dhe gjithmonë i mbështetur i NFS, ndërsa mbështetja për NFSv2 ndoshta do të ndërpritet në të ardhmen. Efikasiteti i leximit të përmbajtjes së katalogëve është rritur ndjeshëm.
- Sistemi i skedarëve ReiserFS është shpallur obsolent dhe pritet të largohet në vitin 2025. Shpallja e ReiserFS si obsolent do të ndihmojë në zvogëlimin e kostove të mbajtjes së ndryshimeve të zakonshme për sistemet e skedarëve që lidhen me mbështetje të re API për montimin, iomap dhe foliantë.
- Për sistemin F2FS është realizuar mundësia e mapimit të identifikuesve të përdoruesve të sistemëve të skedarëve të montuar, e cila përdoret për të lidhur skedarët e një përdoruesi të caktuar në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual.
- Kodi për statistikat e llogaritjes në procesorët e Device-mapper është rishikuar, çka ka lejuar të rritet ndjeshëm saktësia e akountimit në procesorë të tillë si dm-crypt.
- Për pajisjet NVMe është realizuar mbështetje për kontrollet 64-bit për verifikimin e integritetit.
- Për sistemin e skedarëve exfat është propozuar një mundësi e re montimi "keep_last_dots", që ndalon pastrimin e pikëve në fund të emrit të skedarit (në Windows, pikët në fund të emrit fshihen automatikisht).
- Në EXT4 është rritur performanca në modin fast_commit dhe është rritur shkallëzueshmëria. Mundësia e montimit "mb_optimize_scan", që lejon rritjen e performancës në kushtet e fragmentimit të madh të FS, është përshtatur për punë me skedarët me ekstente.
- ĂshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r rrjedhat e shkrimit (write stream) nĂ« nĂ«n-sistemin qĂ« siguron funksionimin e pajisjeve bllokuese. Kjo mundĂ«si ishte propozuar pĂ«r SSD, por nuk gjeti popullaritet dhe tani nuk ka pajisje nĂ« pĂ«rdorim qĂ« e mbĂ«shtesin kĂ«tĂ« mod dhe Ă«shtĂ« e pakta qĂ« ato do tĂ« shfaqen nĂ« tĂ« ardhmen.
- Në sistemin e skedarëve Btrfs është shtuar mbështetje për kalimin e të dhënave të kompresuara gjatë operacioneve send dhe receive. Më parë, kur përdorej send/receive, ana e dërguesit zhbllokonte të dhënat që ruheshin në formë të kompresuar, ndërsa ana e pranuese ripërshtonte ato para se t'i shkruante. Në kernelin 5.18, aplikacioneve në hapësirën e përdoruesit që përdorin thirrjet send/receive u ofrohet mundësia për të transferuar të dhëna të kompresuara pa rikompresim. Funksionaliteti është realizuar përmes operacioneve të reja ioctl BTRFS_IOC_ENCODED_READ dhe BTRFS_IOC_ENCODED_WRITE, që lejojnë të lexohen dhe shkruhen informacione drejtpërdrejt në ekstente.
- Kujtesa dhe shërbimet sistemore
- Ka filluar integrimi i një grupi patch-esh që lejon të reduktohet ndjeshëm koha e rikompilimit të bërthamës duke restrukturizuar hierarkinë e skedave të titujve dhe duke zvogëluar numrin e varësive të ndërsjella. Në bërthamën 5.18 janë përfshirë patch-e që optimizojnë strukturën e skedave të titujve të planifikuesit të detyrave (kernel/sched). Krahasuar me botimin e kaluar, konsumi i kohës së procesorit gjatë kompilimit të kodit kernel/sched është reduktuar me 61%, ndërsa koha reale është zvogëluar me 3.9% (nga 2.95 në 2.84 sek).
- NĂ« kodin e bĂ«rthamĂ«s lejohet pĂ«rdorimi i standardit C11, i publikuar nĂ« vitin 2011. Kodet qĂ« shtoheshin mĂ« parĂ« nĂ« bĂ«rthamĂ« duhej tĂ« pĂ«rputheshin me specifikimin ANSI C (C89), i formuar qĂ« nĂ« vitin 1989. NĂ« skenaret ndĂ«rtuese tĂ« bĂ«rthamĂ«s 5.18, opsioni ââstd=gnu89â Ă«shtĂ« zĂ«vendĂ«suar me ââstd=gnu11 -Wno-shift-negative-valueâ. U shqyrtua mundĂ«sia e pĂ«rdorimit tĂ« standardit C17, por nĂ« kĂ«tĂ« rast do tĂ« duhej tĂ« rritej versioni minimal i mbĂ«shtetur tĂ« GCC, ndĂ«rsa pĂ«rfshirja e mbĂ«shtetjes pĂ«r C11 pĂ«rputhet me kĂ«rkesat aktuale pĂ«r versionin e GCC (5.1).
- Përmirësimi i performancës në planifikimin e detyrave në procesorët AMD me mikroarkitekturën Zen, në të cilët për çdo nyje me kanale lokale memorjeje ofrohen disa cache të nivelit të fundit (LLC, Last Level Cache). Në versionin e ri është eliminuar disbalanci LLC midis nyjave NUMA, çka në disa lloje ngarkesash ka çuar në përmirësimin e konsiderueshëm të performancës.
- Janë zgjeruar mjetet për gjurmimin e aplikacioneve në hapësirën e përdoruesit. Në versionin e ri të bërthamës është shtuar mundësia e krijimit të ngjarjeve të gjurmimit nga proceset e përdoruesit dhe regjistrimit të të dhënave në një buffer gjurmimi, të cilat mund të shikohen përmes utilitarëve tipikë të gjurmimit të bërthamës, si ftrace dhe perf. Ngjarjet e gjurmimit nga hapësira e përdoruesit janë të izoluara nga ngjarjet e gjurmimit të bërthamës. Gjendja e ngjarjeve mund të shikohet përmes skedarit /sys/kernel/debug/tracing/user_events_status, ndërsa regjistrimi i ngjarjes dhe regjistrimi i të dhënave përmes skedarit /sys/kernel/debug/tracing/user_events_data.
- Shtuar mekanizmi i gjurmimit (probe) të thirrjeve të funksioneve - fprobe. API i fprobe është i bazuar në ftrace, por e kufizuar vetëm në mundësinë e lidhjes së menaxherëve të callback me pikën e hyrjes në funksion dhe përfundimin e funksionit. Ndryshe nga kprobes dhe kretprobes, mekanizmi i ri lejon përdorimin e një menaxheri për disa funksione.
- Ka përfunduar mbështetja për procesorët e vjetër ARM (ARMv4 dhe ARMv5) që nuk janë të pajisur me një njësi kontrolli të memorjes (MMU). Mbështetja për sistemet ARMv7-M pa MMU është ruajtur.
- Ka përfunduar mbështetja për arkitekturën NDS32 të ngjashme me RISC, e cila ishte përdorur në procesorët e kompanisë Andes Technologies. Kodi është hequr për shkak të mungesës së mbështetjes dhe kërkesës për mbështetje NDS32 në bërthamën kryesore të Linux (përdoruesit e mbetur përdorin ndërtesa të specializuara të bërthamës nga prodhuesit e pajisjeve).
- Sipas parazgjedhjes Ă«shtĂ« ndaluar ndĂ«rtimi i bĂ«rthamĂ«s me mbĂ«shtetje pĂ«r formatin e skedarĂ«ve a.out pĂ«r arkitekturat alfa dhe m68k, nĂ« tĂ« cilat ky format vazhdon tĂ« pĂ«rdoret. ĂshtĂ« e mundur qĂ« mbĂ«shtetja pĂ«r formatin e vjetĂ«ruar a.out tĂ« hiqet plotĂ«sisht nga bĂ«rthama. Planet pĂ«r heqjen e formatit a.out janĂ« diskutuar qĂ« nga viti 2019.
- Për arkitekturën PA-RISC është realizuar mbështetje minimale për mekanizmin vDSO (virtual dynamic shared objects), i cili ofron një grup të kufizuar thirrjesh sistemore, të aksesueshme në hapësirën e përdoruesit pa kaluar konteksteve. Mbështetja e vDSO ka mundësuar mundësinë e fillimit me një stack të papërshtatshëm.
- Shtuar mbështetje për mekanizmin Intel HFI (Hardware Feedback Interface), i cili lejon pajisjen të transmetojë bërthamës informacione mbi performancën aktuale dhe efikasitetin energjetik të çdo CPU.
- Shtuar njĂ« drejtues pĂ«r mekanizmin Intel SDSi (Software-Defined Silicon), i cili mundĂ«son menaxhimin e aktivizimit tĂ« veçorive shtesĂ« nĂ« procesor (pĂ«r shembull, instruksione tĂ« specializuara dhe memorie tĂ« shtuar cache). Ideja Ă«shtĂ« qĂ« çipe nĂ« njĂ« çmim mĂ« tĂ« ulĂ«t mund tĂ« dorĂ«zohen me funksione tĂ« zgjeruara tĂ« bllokuara, tĂ« cilat mund tĂ« âblihenâ dhe aktivizohen mĂ« pas pa ndĂ«rruar harduerin e çipit.
- Shtuar drejtuesi amd_hsmp për mbështetje të ndërfaqes AMD HSMP (Host System Management Port), i cili ofron akses në funksione të menaxhimit të procesorit përmes një grupi të regjistrave të veçantë, të cilët u shfaqën në procesorët server AMD EPYC që nga gjenerata Fam19h. Për shembull, përmes HSMP mund të merren të dhëna mbi konsumimin e energjisë dhe temperaturën, të vendosen kufij mbi frekuencën, të aktivizohen modet e ndryshme të rritjes së performancës dhe të menaxhohen parametrat e funksionimit të memorie.
- Në ndërfaqen e I/O asinkronik io_uring është implementuar opsioni IORING_SETUP_SUBMIT_ALL për regjistrimin në buferin ring të një grupi përshkruesish skedash, si dhe operacioni IORING_OP_MSG_RING, i cili lejon dërgimin e një sinjali nga një bufer ring në një tjetër bufer ring.
- Në mekanizmin DAMOS (Skemat e Operacioneve të Monitorimit të Qasjes në të Dhëna), që lejon lirimin e memories duke marrë parasysh frekuencën e qasjes në memorie, janë zgjeruar mundësitë për kontrollin e operacioneve me memori nga hapësira e përdoruesit.
- JanĂ« integruar patch-e tĂ« reja qĂ« realizojnĂ« konceptin e folio-ve tĂ« faqeve tĂ« memories, tĂ« cilat i ngjajnĂ« faqeve tĂ« pĂ«rbashkĂ«ta, por ndryshojnĂ« me semantikĂ« tĂ« pĂ«rmirĂ«suar dhe organizim mĂ« tĂ« qartĂ« tĂ« punĂ«s. PĂ«rdorimi i folio-ve lejon shpejtimin e menaxhimit tĂ« memories nĂ« disa nĂ«n sisteme tĂ« bĂ«rthamĂ«s. NĂ« kĂ«to patch-e Ă«shtĂ« realizuar kalimi nĂ« folio pĂ«r funksionet e brendshme tĂ« menaxhimit tĂ« memories, duke pĂ«rfshirĂ« variacione tĂ« funksionit get_user_pages(). ĂshtĂ« ofruar mbĂ«shtetje pĂ«r krijimin e folio-ve tĂ« mĂ«dha nĂ« kodin e parashikimit tĂ« leximit tĂ« tĂ« dhĂ«nave.
- Në sistemin e ndërtimit është implementuar mbështetje për variablat e mjedisit USERCFLAGS dhe USERLDFLAGS, me anë të të cilave mund të kalohen flamuj shtesë në kompilator dhe linker.
- Në nën sistemin e eBPF në mekanizmin BTF (BPF Type Format), i cili ofron informacion për verifikimin e tipave në pseudokodin BPF, është realizuar mundësia e shtimit të anotacioneve për variablat që referohen në hapësirën e memories në nivelin e përdoruesit. Anotacionet ndihmojnë sistemin e verifikimit të kodit BPF në identifikimin dhe verifikimin e qasjeve në memorie më cilësisht.
- ĂshtĂ« propozuar njĂ« menaxher i ri i alokimit tĂ« memories pĂ«r ruajtjen e programeve tĂ« ngarkuara BPF, i cili lejon pĂ«rdorimin mĂ« efektiv tĂ« memories nĂ« situatat e ngarkimit tĂ« numrit tĂ« madh tĂ« programeve BPF.
- Në thirrjen sistematike madvise(), e cila ofron mjete për optimizimin e menaxhimit të memories së procesit, është shtuar flamuri MADV_DONTNEED_LOCKED, i cili plotëson flamurin ekzistues MADV_DONTNEED, përmes të cilit bërthama mund të informohet paraprakisht për lirimin e një blloku memorie, dmth se ky bllok tashmë nuk është i nevojshëm dhe mund të përdoret nga bërthama. Ndryshe nga MADV_DONTNEED, përdorimi i flamurit MADV_DONTNEED_LOCKED është i lejuar për faqet e memories të kapura në RAM, të cilat gjatë thirrjes së madvise largohen pa ndryshuar statusin e tyre të kapjes dhe në rastin e qasjes së mëvonshme në bllok dhe gjenerimin e 'page fault' kthehen me ruajtjen e lidhjes. Shtuar gjithashtu është bërë një ndryshim që lejon përdorimin e flamurit MADV_DONTNEED me faqe të mëdha memoriesh në HugeTLB.
- Virtualizimi dhe siguria
- Për arkitekturën x86 është shtuar mbështetje për mekanizmin e mbrojtjes së rrethit të ekzekutimit të komandave Intel IBT (Ndjekja Indirekte e Degëve), e cila pengon përdorimin e teknikave për ndërtimin e eksploitëve duke përdorur metoda të kthyera për programim (ROP), në të cilat eksploitët formohen në formën e një zinxhiri thirrjesh të majme të instruktimeve që ekzistojnë në memorie, që përfundojnë me një instruktion kthimi të kontrollit (zakonisht fundet e funksioneve). Qëllimi i metodës së mbrojtjes së realizuar është bllokimi i kalimeve indirekte në trupin e funksiones duke shtuar në fillim të funksionit një instruksion të veçantë ENDBR dhe lejen e ekzekutimit për kalim indirekt vetëm në rastin e kalimeve në këtë instruksion (thirrja indirekte përmes JMP dhe CALL duhet gjithmonë të bjerë në instruksionin ENDBR, i cili vendoset në fillim të funksionit).
- ĂshtĂ« pĂ«rfshirĂ« njĂ« verifikim mĂ« i fortĂ« i kufijve tĂ« buferĂ«ve nĂ« funksionet memcpy(), memmove() dhe memset(), qĂ« realizohet nĂ« fazĂ«n e kompilimit kur aktivizohet moda CONFIG_FORTIFY_SOURCE. Ndryshimi i shtuar redukton nĂ« kontrollin e daljes jashtĂ« kufijve tĂ« elementeve tĂ« strukturave, tĂ« cilat kanĂ« njĂ« madhĂ«si qĂ« dihet. KĂ«tu theksohet se mundĂ«sia e realizuar do tĂ« bllokonte tĂ« gjitha mbushjet e buferĂ«ve tĂ« lidhura me memcpy() nĂ« bĂ«rthamĂ«, tĂ« identifikuara sĂ« paku gjatĂ« tre viteve tĂ« fundit.
- ĂshtĂ« shtuar pjesa e dytĂ« e kodit tĂ« realizimit tĂ« azhurnuar tĂ« gjeneratorit tĂ« numrave tĂ« rastĂ«sishĂ«m RDRAND, i cili pĂ«rgjigjet pĂ«r funksionimin e pajisjeve /dev/random dhe /dev/urandom. Realizimi i ri Ă«shtĂ« i shquar pĂ«r unifikimin e funksionimit tĂ« /dev/random dhe /dev/urandom, shtimin e mbrojtjes nga shfaqja e kopjeve nĂ« rrjedhĂ«n e numrave tĂ« rastĂ«sishĂ«m gjatĂ« ekzekutimit dhe kalimi nĂ« pĂ«rdorimin e funksionit hash BLAKE2s nĂ« vend tĂ« SHA1 pĂ«r operacionet e pĂ«rzierjes sĂ« entropisĂ«. Ky ndryshim ka lejuar rritjen e sigurisĂ« sĂ« gjeneratorit tĂ« numrave tĂ« rastĂ«sishĂ«m, duke e eliminuar algoritmin problematik SHA1 dhe duke pĂ«rjashtuar ribashkimin e vektorit tĂ« inicializimit RNG. Duke qenĂ« se algoritmi BLAKE2s i kalon SHA1 nĂ« performancĂ«, pĂ«rdorimi i tij gjithashtu ka pasur njĂ« ndikim pozitiv nĂ« performancĂ«n. makinave virtuale dhe kalimi nĂ« pĂ«rdorimin e funksionit hash BLAKE2s nĂ« vend tĂ« SHA1 pĂ«r operacionet e pĂ«rzierjes sĂ« entropisĂ«. Ky ndryshim lehtĂ«soi rritjen e sigurisĂ« sĂ« gjeneratorit tĂ« numrave pseudologjikĂ«, duke hequr algoritmin problematik SHA1 dhe duke eliminuar rikthimin e vektorit tĂ« inicializimit RNG. Duke qenĂ« se algoritmi BLAKE2s e tejkalon SHA1 nĂ« performancĂ«, aplikimi i tij pati gjithashtu njĂ« efekt pozitiv nĂ« performancĂ«n.
- PĂ«r arkitekturĂ«n ARM64, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r algoritmin e ri tĂ« autentifikimit tĂ« treguesve â "QARMA3", i cili Ă«shtĂ« mĂ« i shpejtĂ« se algoritmi QARMA ndĂ«rsa ruan njĂ« nivel tĂ« duhur mbrojtjeje. Teknologjia lejon pĂ«rdorimin e instrukcioneve tĂ« specializuara ARM64 pĂ«r verifikimin e adresave tĂ« kthimit me anĂ« tĂ« nĂ«nshkrimeve digjitale, tĂ« cilat ruhen nĂ« bitĂ«t e sipĂ«rm tĂ« pa pĂ«rdorur tĂ« treguesit vetĂ«.
- Për arkitekturën ARM64 është realizuar mbështetje për ndërtimin me përfshirjen në GCC 12 të modit të mbrojtjes nga ri-shkruan adresën e kthimit nga funksioni në rast të mbushjes së tamponit në stek. Qëllimi i mbrojtjes është ruajtja, pas kalimit të kontrollit në funksion, e adresës së kthimit në një stek të veçantë "hije" dhe nxjerrja e kësaj adrese para daljes nga funksioni.
- ĂshtĂ« shtuar njĂ« ruajtje e re çelĂ«sash (keyring) â "machine", qĂ« pĂ«rmban çelĂ«sat e pronarit tĂ« sistemit (MOK, Machine Owner Keys), tĂ« mbĂ«shtetur nĂ« ngarkuesin shim. ĂelĂ«sat e cituar mund tĂ« pĂ«rdoren pĂ«r tĂ« nĂ«nshkruar digjitalisht komponentĂ«t e bĂ«rthamĂ«s, tĂ« ngarkuar nĂ« fazĂ«n pas ngarkimit fillestar (p.sh., module tĂ« bĂ«rthamĂ«s).
- ĂshtĂ« hequr mbĂ«shtetje pĂ«r çelĂ«sat e mbyllur asimetrik pĂ«r TPM, tĂ« cilat janĂ« propozuar nĂ« versionin e vjetĂ«ruar tĂ« TPM, kanĂ« probleme tĂ« njohura me sigurinĂ« dhe nuk kanĂ« marrĂ« pĂ«rhapje nĂ« praktikĂ«.
- ĂshtĂ« shtuar mbrojtja e tĂ« dhĂ«nave me tipin size_t nga mbushjet numerike. NĂ« kod janĂ« angazhuar trajtuesit size_mul(), size_add() dhe size_sub(), tĂ« cilĂ«t lejojnĂ« tĂ« prodhojnĂ« nĂ« mĂ«nyrĂ« tĂ« sigurt shumĂ«zimin, shumimin dhe zbritjen e madhĂ«sive me tipin size_t.
- Në ndërtimin e bërthamës janë përfshirë flamujt "-Warray-bounds" dhe "-Wzero-length-bounds", që japin paralajmërime kur indekset dalin jashtë kufijve të masës dhe për përdorimin e masave me gjatësi zero.
- Në pajisjen virtio-crypto është shtuar mbështetje për enkriptimin duke përdorur algoritmin RSA.
- Sistemi i rrjetit
- NĂ« implementimin e urave tĂ« rrjetit Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mĂ«nyrĂ«n e kyçjes sĂ« porteve (locked mode), nĂ« tĂ« cilĂ«n pĂ«rdoruesi mund tĂ« dĂ«rgojĂ« trafik pĂ«rmes portit vetĂ«m me adresĂ«n MAC tĂ« lejuar. ĂshtĂ« shtuar gjithashtu mundĂ«sia pĂ«r tĂ« pĂ«rdorur struktura tĂ« shumta pĂ«r tĂ« vlerĂ«suar gjendjen e protokollit STP (Spanning Tree Protocol). MĂ« parĂ«, pĂ«r VLAN mund tĂ« bĂ«hej vetĂ«m lidhje e drejtpĂ«rdrejtĂ« me STP (1:1), ku çdo VLAN menaxhohej nĂ« mĂ«nyrĂ« tĂ« pavarur. NĂ« versionin e ri Ă«shtĂ« shtuar parametri mst_enable, me pĂ«rfshirjen e tĂ« cilit gjendja e VLAN-ve kontrollohet nga moduli MST (Multiple Spanning Trees) dhe lidhja e VLAN-ve mund tĂ« pĂ«rputhet me modelin M:N.
- Puna për integrimin e mjeteve në skedarin rrjetës për monitorimin e shkaqeve të humbjes së paketave (kodet e arsyes) ka vazhduar. Kodi i arsyes transmetohet gjatë lirimit të memories që lidhet me paketën dhe lejon që të merren parasysh situata të tilla si humbja e paketës për shkak të gabimeve në plotësimin e fushave të titullit, identifikimi i spoofing nga filtri rp_filter, kontrolli i gabuar i somë, mungesa e memories, aktivizimi i rregullave IPSec XFRM, numri i gabuar i sekuencës TCP, etj.
- ĂshtĂ« ofruar mundĂ«sia e transmetimit tĂ« paketave rrjetĂ«s nga programet BPF, tĂ« drejtuara nga hapĂ«sira e pĂ«rdoruesit nĂ« modin BPF_PROG_RUN, nĂ« tĂ« cilin programet BPF ekzekutohen nĂ« bĂ«rthamĂ«, por kthejnĂ« rezultatin nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Paketat transmetohen duke pĂ«rdorur nĂ«n-sistemimin XDP (eXpress Data Path). MbĂ«shtetet moda jetĂ«sore e pĂ«rpunimit tĂ« paketave, nĂ« tĂ« cilĂ«n trajtuesi XDP mund tĂ« drejtojĂ« nĂ« kohĂ« reale paketat rrjetĂ«s nĂ« stek ose nĂ« pajisje tĂ« tjera. Gjithashtu Ă«shtĂ« e mundur tĂ« krijoni gjenerues programorĂ« tĂ« trafikut tĂ« jashtĂ«m ose tĂ« futni korniza rrjetĂ«s nĂ« stek.
- Për programet BPF, të lidhura me cgroups rrjetës, janë propozuar funksione ndihmëse për vendosjen eksplicite të vlerës, që kthehet nga thirrjet sistemore, duke lejuar që të kalojnë informacione më të plota mbi arsyet e bllokimit të thirrjes sistemore.
- Në nën-sistemin XDP (eXpress Data Path) është shtuar mbështetje për paketat e fragmentuara, të vendosura në disa bufe, që lejon përpunimin në XDP të Jumbo-kornizave dhe aplikimin e TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) për XDP_REDIRECT.
- Procesi i fshirjes së hapësirave rrjetës është ndjeshëm përshpejtuar, gjë që ishte kërkuar në disa sisteme të mëdha me volum të madh të trafikut.
- Pajisjet
- NĂ« drejtuesin amdgpu, teknologjia e sinkronizimit adaptiv FreeSync Ă«shtĂ« aktivizuar si parazgjedhje, e cila lejon rregullimin e frekuencĂ«s sĂ« pĂ«rditĂ«simit tĂ« informacionit nĂ« ekran, duke siguruar qĂ«ndrueshmĂ«ri dhe mungesĂ« tĂ« ndarjeve tĂ« imazhit gjatĂ« lojĂ«rave dhe shikimit tĂ« videove. ĂshtĂ« shpallur mbĂ«shtetje e qĂ«ndrueshme pĂ«r GPU-nĂ« Aldebaran.
- Në drejtuesin i915 është shtuar mbështetje për çipat Intel Alderlake N dhe kartat grafike discrete Intel DG2-G12 (Arc Alchemist).
- Në drejtuesin nouveau është realizuar mbështetje për bitrate më të larta për interfesat DP/eDP dhe mbështetje për zgjatësit e kabllit lttprs (Link-Training Tunable PHY Repeaters).
- Në nën-sistemin drm (Direct Rendering Manager) në drejtuesit armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen dhe vc4 është shtuar mbështetje për parametrin nomodeset, që lejon çaktivizimin e kalimeve të modet video në nivelin e bërthamës dhe përdorimin e mjeteve për akcelerimin harduerik të të vizatuarit, duke lënë vetëm funksionalitetin e lidhur me frame buffer-in e sistemit.
- Shtimi i mbështetjes për ARM SoC Qualcomm Snapdragon 625/632 (përdoret në smartphone-t LG Nexus 5X dhe Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (përdoret në Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek mt6582 (tableti Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 dhe i.MXRTxxxx.
- Shtimi i mbështetjes për pajisjet dhe platformat ARM të Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S, tableti Prestigio PMT5008 3G), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 dhe OSMC Vero 4K+), Aspeed (Quanta S6Q, ASRock ROMED8HM3), Marvell MVEBU/Armada (Ctera C200 V1 dhe V2 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW7903).
- Shtimi i mbështetjes për sistemet audio dhe kodekët AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2L, Texas Instruments TAS585M. Shtimi i një implementimi fillestar të drejtuesit të audios për çipin DSP Intel AVS. Përmirësimi i mbështetjes për drejtuesit për Intel ADL dhe Tegra234, si dhe ndryshime për të rritur mbështetjen audio në pajisjet Dell, HP, Lenovo, ASUS, Samsung dhe Clevo.
NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Fondi Latinoamerikan i Softuerit tĂ« LirĂ« ka formuar variantin e bĂ«rthamĂ«s plotĂ«sisht tĂ« lirĂ« 5.18 â Linux-libre 5.18-gnu, i pastruar nga elemente firmware dhe drejtuesish qĂ« pĂ«rmbajnĂ« komponente ose copa kodi tĂ« papara, zona e pĂ«rdorimit tĂ« tĂ« cilave Ă«shtĂ« e kufizuar nga prodhuesi. NĂ« lĂ«shimin e ri Ă«shtĂ« bĂ«rĂ« pastrimi i drejtuesve pĂ«r panele MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) dhe Realtek 8852a/8852c, çipet audio Intel AVS dhe Texas Instruments TAS5805M. Po ashtu Ă«shtĂ« bĂ«rĂ« pastrimi i skedave DTS pĂ«r SoC tĂ« ndryshĂ«m Qualcomm me procesorĂ« tĂ« bazuar nĂ« arkitekturĂ«n AArch64. Kodi i pastrimit tĂ« blob-ve nĂ« drejtues dhe nĂ«n-sistemet AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART Ă«shtĂ« pĂ«rditĂ«suar.
Burimi: opennet.ru
