Lançimi i bërthamës Linux 5.18

Pas dy muajsh zhvillimi, Linus Torvalds shpalli lansimin e bërthamës Linux 5.18. Ndër ndryshimet më të dukshme: u krye një pastrim i madh i funksionaliteteve të vjetra, sistemi i file-ve Reiserfs u shpall i vjetëruar, u implementuan evente gjurmimi të proceseve përdorues, u shtua mbështetja për mekanizmin e bllokimit të punës së exploiteve Intel IBT, u përfshi një mod për identifikimin e mbushjes së tamponëve gjatë përdorimit të funksionit memcpy(), u shtua një mekanizëm për gjurmimin e thirrjeve të funksioneve fprobe, u rrit rendimenti i planifikuesit të detyrave për CPU AMD Zen, u përfshi një drejtues për menaxhimin e funksionalitetit të CPU Intel (SDS), u integruan disa patches për restrukturimin e skedarëve të titujve, u miratua përdorimi i standardit C11.

Në versionin e ri janë pranuar 16206 rregullime nga 2127 zhvillues (në lëshimin e kaluar kishte 14203 rregullime nga 1995 zhvillues), madhësia e patch-it është 108 MB (ndryshimet përfshinin 14235 skedare, u shtuan 1340982 linja kodi, u fshin 593836 linja). 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 specifik për arkitekturën harduerike, 11% lidhen me grumbullin e rrjeteve, 3% me sistemet e skedarëve dhe 3% me nën-sistemet e brendshme të bërthamës.

Risi kryesore në bërthamën 5.18:

  • Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarĂ«ve
    • NĂ« sistemin e skedarĂ«ve Btrfs u shtua mbĂ«shtetja pĂ«r kalimin e tĂ« dhĂ«nave tĂ« kompresuara gjatĂ« operacioneve send dhe receive. MĂ« parĂ«, kur pĂ«rdorej send/receive, pala dĂ«rguese shpĂ«rndante tĂ« dhĂ«nat e ruajtura nĂ« format tĂ« kompresuar, ndĂ«rsa pala pranues pĂ«rsĂ«ri i kompresonte para se t'i shkruante. NĂ« bĂ«rthamĂ«n 5.18, aplikacionet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit qĂ« pĂ«rdorin thirrjet send/receive, u jepet mundĂ«sia tĂ« dĂ«rgojnĂ« tĂ« dhĂ«na tĂ« kompresuara pa ripakimin. Funksionaliteti Ă«shtĂ« realizuar pĂ«rmes operacioneve tĂ« reja ioctl BTRFS_IOC_ENCODED_READ dhe BTRFS_IOC_ENCODED_WRITE, qĂ« lejojnĂ« leximin dhe shkrimin direkt tĂ« informacionit nĂ« ekstent.

      Për më tepër, në Btrfs është rritur rendimenti i fsync. U shtua mundësia e deduplikimit dhe ekzekutimit të reflink (klonimi i metadatave të skedarëve duke krijuar një lidhje me të dhënat që tashmë ekzistojnë pa i kopjuar ato në mënyrë faktike) për të gjithë magazinimin, pa u kufizuar në pikat e montimit.

    • NĂ« modalitetin e hyrjes/tyrjes direkte (Direct I/O) Ă«shtĂ« e mundur tĂ« aksesohen skedarĂ«t e enkriptuar duke pĂ«rdorur fscrypt inline-enkriptimin, nĂ« tĂ« cilin operacionet e enkriptimit dhe dekryptimitExecutohen nga kontrolleri i memorjes, jo nga bĂ«rthama. Me enkriptimin e zakonshĂ«m nga bĂ«rthama, aksesimi i skedarĂ«ve tĂ« enkriptuar pĂ«rmes Direct I/O mbetet i pamundur, pasi qasja nĂ« skedarĂ« realizohet duke anashkaluar mekanizmin e buferizimit nĂ« bĂ«rthamĂ«.
    • NĂ« serverin NFS, mbĂ«shtetja pĂ«r protokollin NFSv3 tani Ă«shtĂ« aktivizuar si parazgjedhje dhe nuk kĂ«rkon aktivizim tĂ« veçantĂ«, dhe Ă«shtĂ« e disponueshme me aktivizimin e pĂ«rgjithshĂ«m tĂ« NFS. NFSv3 konsiderohet si njĂ« version themelor dhe gjithmonĂ« i mbĂ«shtetur i NFS, ndĂ«rsa mbĂ«shtetje pĂ«r NFSv2 gjithsesi mund tĂ« ndalohet nĂ« tĂ« ardhmen. NdjeshĂ«m Ă«shtĂ« rritur efikasiteti i leximit tĂ« pĂ«rmbajtjeve tĂ« katalogĂ«ve.
    • Sistemi i skedarĂ«ve ReiserFS Ă«shtĂ« shpallur i vjetĂ«r dhe pritet tĂ« hiqet nĂ« vitin 2025. Klasifikimi i ReiserFS si i vjetĂ«r do tĂ« ndihmojĂ« nĂ« uljen e kostove tĂ« mirĂ«mbajtjes pĂ«r ndryshimet e zakonshme nĂ« sistemet e skedarĂ«ve, qĂ« lidhen me mbĂ«shtetje tĂ« reja API pĂ«r montimin, iomap dhe foliantĂ«t.
    • PĂ«r FS F2FS Ă«shtĂ« realizuar mundĂ«sia e hartimit tĂ« identifikuesve tĂ« pĂ«rdoruesve tĂ« sistemeve tĂ« montuar tĂ« skedarĂ«ve, e cila aplikohet pĂ«r tĂ« pĂ«rputhur skedarĂ«t e njĂ« pĂ«rdoruesi tĂ« caktuar nĂ« njĂ« parti tĂ« huaj tĂ« montuar me njĂ« pĂ«rdorues tjetĂ«r nĂ« sistemin aktual.
    • Kodi pĂ«r llogaritjen e statistikave nĂ« trajtuesit e Device-mapper Ă«shtĂ« rishkruar, duke lejuar rritjen e saktĂ«sisĂ« nĂ« akountimin e trajtuesve tĂ« tillĂ« si dm-crypt.
    • PĂ«r pajisjet NVMe Ă«shtĂ« realizuar mbĂ«shtetja pĂ«r kontrolle tĂ« 64-bitĂ«ve pĂ«r verifikimin e integritetit.
    • PĂ«r sistemin e skedarĂ«ve exfat Ă«shtĂ« propozuar njĂ« opsion i ri montimi "keep_last_dots", i cili ndalon pastrimin e pikave nĂ« fund tĂ« emrit tĂ« skedarit (nĂ« Windows, pikat nĂ« fund tĂ« emrit automatikisht fshihen).
    • NĂ« EXT4 Ă«shtĂ« rritur performanca nĂ« modalitetin fast_commit dhe Ă«shtĂ« rritur shkallĂ«zueshmĂ«ria. Opsioni i montimit "mb_optimize_scan", qĂ« ndihmon nĂ« rritjen e performancĂ«s nĂ« kushte tĂ« frakcionimit tĂ« lartĂ« tĂ« FS, Ă«shtĂ« adaptuar pĂ«r tĂ« punuar me skedarĂ«t me ekstenta.
    • MbĂ«shtetjes pĂ«r rrjedhat e shkrimit (write stream) nĂ« nĂ«n-sistemin qĂ« siguron funksionimin e pajisjeve bllokuese i ka ardhur fundi. Kjo mundĂ«si ishte propozuar pĂ«r SSD, por nuk u pĂ«rhap dhe tani nuk ka pajisje qĂ« e mbĂ«shtesin kĂ«tĂ« mod dhe Ă«shtĂ« shumĂ« e pakĂ«t mundĂ«sia qĂ« ato tĂ« shfaqen nĂ« tĂ« ardhmen.
  • Memorie dhe shĂ«rbime sistemike
    • Ka nisur integrimi i njĂ« grupi patch-e qĂ« lejon ndjeshĂ«m tĂ« shkurtojĂ« kohĂ«n e rindĂ«rtimit tĂ« bĂ«rthamĂ«s pĂ«rmes ristrukturimit tĂ« hierarkisĂ« sĂ« skedarĂ«ve tĂ« titujve dhe zvogĂ«limit tĂ« numrit tĂ« varĂ«sive tĂ« ndĂ«rthurura. NĂ« bĂ«rthamĂ«n 5.18 janĂ« pĂ«rfshirĂ« patch-e qĂ« optimizojnĂ« strukturĂ«n e skedarĂ«ve tĂ« titujve tĂ« planifikuesit tĂ« detyrave (kernel/sched). Krahasuar me lĂ«shimin e kaluar, konsumi i kohĂ«s sĂ« procesorit gjatĂ« ndĂ«rtimit tĂ« kodit kernel/sched Ă«shtĂ« zvogĂ«luar me 61%, ndĂ«rsa koha reale ka rĂ«nĂ« me 3.9% (nga 2.95 nĂ« 2.84 sek).
    • NĂ« kodin e bĂ«rthamĂ«s lejohet pĂ«rdorimi i standardit C11, i botuar nĂ« vitin 2011. Kodi i shtuar nĂ« bĂ«rthama mĂ« parĂ« duhej tĂ« pĂ«rputhej me specifikimin ANSI C (C89), i formuar nĂ« vitin 1989. NĂ« skenaret e ndĂ«rtimit 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 C11 pĂ«rputhet me kĂ«rkesat aktuale pĂ«r versionin e GCC (5.1).
    • ËshtĂ« rritur performanca e planifikimit tĂ« detyrave nĂ« procesorĂ«t AMD me mikroarkitekturĂ« Zen, ku pĂ«r çdo nyje me kanale lokal tĂ« memories ofrohen disa memorie kesh tĂ« nivelit tĂ« fundit (LLC, Last Level Cache). NĂ« versionin e ri Ă«shtĂ« eliminuar disbalanci LLC midis nyjave NUMA, gjĂ« qĂ« ka çuar nĂ« njĂ« rritje tĂ« konsiderueshme tĂ« performancĂ«s nĂ«n disa lloje ngarkesash.
    • JanĂ« zgjeruar mjetet pĂ«r ndjekjen 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Ă« ndjekjes nga proceset e pĂ«rdoruesve dhe regjistrimit tĂ« tĂ« dhĂ«nave nĂ« tamponin e ndjekjes, tĂ« cilat mund tĂ« shihen nĂ«pĂ«rmjet mjeteve standarde tĂ« ndjekjes sĂ« bĂ«rthamĂ«s, tĂ« tilla si ftrace dhe perf. Ngjarjet e ndjekjes nga hapĂ«sira e pĂ«rdoruesit janĂ« tĂ« izoluara nga ngjarjet e ndjekjes sĂ« bĂ«rthamĂ«s. Gjendja e ngjarjeve mund tĂ« shikohet pĂ«rmes skedarit /sys/kernel/debug/tracing/user_events_status, ndĂ«rsa regjistrimi i njĂ« ngjarjeje dhe ruajtja e tĂ« dhĂ«nave bĂ«het pĂ«rmes skedarit /sys/kernel/debug/tracing/user_events_data.
    • ËshtĂ« shtuar mekanizmi i gjurmimit tĂ« thirrjeve tĂ« funksioneve — fprobe. API fprobe bazohet nĂ« ftrace, por Ă«shtĂ« i kufizuar vetĂ«m nĂ« mundĂ«sinĂ« pĂ«r tĂ« lidhur trajtues tĂ« callback-Ă«ve nĂ« pikat e hyrjes sĂ« funksionit dhe pĂ«rfundimin e funksionit. Ndryshe nga kprobes dhe kretprobes, mekanizmi i ri lejon pĂ«rdorimin e njĂ« trajtuesi pĂ«r disa funksione menjĂ«herĂ«.
    • ËshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r procesorĂ«t e vjetĂ«r ARM (ARMv4 dhe ARMv5) qĂ« nuk kanĂ« njĂ« njĂ«s i kontrollit tĂ« memories (MMU). MbĂ«shtetje pĂ«r sistemet ARMv7-M pa MMU mbetet.
    • ËshtĂ« ndaluar mbĂ«shtetja pĂ«r arkitekturĂ«n e ngjashme me RISC NDS32, qĂ« Ă«shtĂ« pĂ«rdorur nĂ« procesorĂ«t e kompanisĂ« Andes Technologies. Kodi Ă«shtĂ« hequr pĂ«r shkak tĂ« mungesĂ«s sĂ« mbĂ«shtetjes dhe kĂ«rkesave pĂ«r mbĂ«shtetje tĂ« NDS32 nĂ« kernin kryesor tĂ« Linux-it (pĂ«rdoruesit e mbetur pĂ«rdorin ndĂ«rtimet e specializuara tĂ« kernit nga prodhuesit e pajisjeve).
    • NĂ« mĂ«nyrĂ« default Ă«shtĂ« çaktivizuar ndĂ«rtimi i kernit me mbĂ«shtetje pĂ«r formatin e skedarĂ«ve ekzekutivĂ« a.out pĂ«r arkitekturat alpha dhe m68k, nĂ« tĂ« cilat ky format vazhdon tĂ« pĂ«rdoret. Probabilisht, mbĂ«shtetja pĂ«r formatin e vjetĂ«ruar a.out do tĂ« hiqet plotĂ«sisht nga kerni nĂ« njĂ« tĂ« ardhme tĂ« afĂ«rt. 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 (objekte tĂ« ndara dinamike virtuale), qĂ« ofron njĂ« grup tĂ« kufizuar thirrjesh sistemore, tĂ« disponueshme nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit pa kalim konteksti. MbĂ«shtetja vDSO e lejoi realizimin e mundĂ«sisĂ« pĂ«r tĂ« filluar me njĂ« shkallĂ« tĂ« paekzekutueshme.
    • ËshtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin Intel HFI (Hardware Feedback Interface), qĂ« lejon pajisjeve tĂ« transmetojnĂ« nĂ« kerne informacion pĂ«r performancĂ«n aktuale dhe efikasitetin energjetik tĂ« çdo CPU.
    • ËshtĂ« shtuar njĂ« drejtues pĂ«r mekanizmin Intel SDSi (Software-Defined Silicon), qĂ« lejon menaxhimin e aktivizimit tĂ« mundĂ«sive shtesĂ« nĂ« procesor (pĂ«r shembull, instruksione tĂ« specializuara dhe cache tĂ« dhĂ«nash tĂ« shtesĂ«). Ideja Ă«shtĂ« se çipat qĂ« ofrohen me njĂ« çmim mĂ« tĂ« ulĂ«t mund tĂ« kenĂ« funksione tĂ« bllokuara, tĂ« cilat mund tĂ« "blihen" dhe aktivizohen mĂ« pas pa ndĂ«rrimin e pajisjes.
    • Dhe u shtua drejtuesi amd_hsmp pĂ«r mbĂ«shtetje tĂ« ndĂ«rfaqes AMD HSMP (Host System Management Port), qĂ« ofron qasje nĂ« funksionet e menaxhimit tĂ« procesorit nĂ«pĂ«rmjet njĂ« grupi tĂ« regjistrave tĂ« veçantĂ«, qĂ« kanĂ« ndĂ«rhyrĂ« nĂ« procesorĂ«t serverĂ« AMD EPYC qĂ« nga brezi Fam19h. PĂ«r shembull, pĂ«rmes HSMP mund tĂ« merrni tĂ« dhĂ«na mbi konsumimin e energjisĂ« dhe temperaturĂ«n, tĂ« vendosni kufizime nĂ« frekuencĂ«, tĂ« aktivizoni modet e ndryshme tĂ« pĂ«rmirĂ«simit tĂ« performancĂ«s, dhe tĂ« menaxhoni parametrat e funksionimit tĂ« memories.
    • NĂ« ndĂ«rfaqen e hyrjes/asistencĂ«s asinkrone io_uring Ă«shtĂ« zbatuar opsioni IORING_SETUP_SUBMIT_ALL pĂ«r regjistrimin nĂ« buferin e unazĂ«s tĂ« njĂ« grupi descriptorĂ«sh skedarĂ«sh, si dhe operacioni IORING_OP_MSG_RING, qĂ« lejon dĂ«rgimin e njĂ« sinjali nga njĂ« bufer unazĂ« nĂ« njĂ« tjetĂ«r bufer unazĂ«.
    • NĂ« mekanizmin DAMOS (Skemat e Operacionit tĂ« Monitorimit tĂ« Qasjes nĂ« TĂ« DhĂ«na), qĂ« lejon lirimin e memories duke marrĂ« parasysh frekuencĂ«n e operimeve nĂ« memorie, janĂ« zgjeruar mundĂ«sitĂ« pĂ«r kontrollin mbi operacionet me memorie nga hapĂ«sira e pĂ«rdoruesit.
    • ËshtĂ« integruar seria e tretĂ« e patch-eve me realizimin e konceptit tĂ« folio-ve tĂ« faqeve tĂ« memories (page folios), tĂ« cilat duken si faqe tĂ« bashkuara tĂ« memories (compound pages), por dallohen nga semantika e pĂ«rmirĂ«suar dhe organizimi mĂ« i qartĂ« i punĂ«s. PĂ«rdorimi i folio-ve lejon pĂ«rshpejtimin e menaxhimit tĂ« memories nĂ« disa nĂ«n-sisteme tĂ« bĂ«rthamĂ«s. NĂ« patch-et e propozuara Ă«shtĂ« realizuar kalimi nĂ« folio gjatĂ« funksioneve tĂ« brendshme tĂ« menaxhimit tĂ« memories, duke pĂ«rfshirĂ« llojet e funksionit get_user_pages(). ËshtĂ« ofruar mbĂ«shtetje pĂ«r krijimin e folio tĂ« mĂ«dha nĂ« kodin e parashikimit tĂ« leximit tĂ« tĂ« dhĂ«nave.
    • NĂ« sistemin e ndĂ«rtimit u shtua mbĂ«shtetje pĂ«r variablat e mjedisit USERCFLAGS dhe USERLDFLAGS, me ndihmĂ«n e tĂ« cilĂ«ve mund tĂ« dĂ«rgoni flamuj tĂ« tjerĂ« kompajlerit dhe ndĂ«rlidhĂ«sit.
    • NĂ« nĂ«n-sisteminin e eBPF nĂ« mekanizmin BTF (BPF Type Format), qĂ« ofron informacione pĂ«r verifikimin e llojeve nĂ« pseudokodin BPF, Ă«shtĂ« realizuar mundĂ«sia e shtimit tĂ« anotacioneve pĂ«r variablat qĂ« referohen nĂ« fushat e memories nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Anotacionet ndihmojnĂ« sistemin e verifikimit tĂ« kodit BPF tĂ« identifikojĂ« dhe verifikojĂ« mĂ« mirĂ« qasjet nĂ« memorie.
    • ËshtĂ« paraqitur njĂ« trajtues 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 ngarkesĂ«s sĂ« njĂ« numri tĂ« madh programesh BPF.
    • NĂ« thirrjen sistemore madvise(), e cila ofron mjete pĂ«r optimizimin e menaxhimit tĂ« memories sĂ« procesit, Ă«shtĂ« shtuar flagu MADV_DONTNEED_LOCKED, i cili plotĂ«son flagun ekzistues MADV_DONTNEED, pĂ«rmes tĂ« cilit mund t'i raportoni kernelit paraprakisht pĂ«r lirimin e njĂ« blloku memorie, dmth. se ky bllok nuk Ă«shtĂ« mĂ« i nevojshĂ«m dhe mund tĂ« pĂ«rdoret nga kernel. Ndryshe nga MADV_DONTNEED, pĂ«rdorimi i flagut MADV_DONTNEED_LOCKED lejohet pĂ«r faqet e memories tĂ« mbajtura nĂ« RAM, tĂ« cilat gjatĂ« thirrjes sĂ« madvise shkarkohen pa ndryshuar statusin e tyre tĂ« mbajtjes dhe nĂ« rastin e njĂ« thirrjeje tĂ« mĂ«tejshme pĂ«r bllokun dhe gjenerimit tĂ« „page fault“ kthehen me ruajtjen e lidhjes. Gjithashtu Ă«shtĂ« shtuar njĂ« ndryshim qĂ« lejon pĂ«rdorimin e flagut MADV_DONTNEED me faqe tĂ« mĂ«dha memories nĂ« HugeTLB.
  • Virtualizimi dhe siguria
    • PĂ«r arkitekturĂ«n x86 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin e mbrojtjes sĂ« rrjedhĂ«s sĂ« ekzekutimit tĂ« komandave Intel IBT (Indirect Branch Tracking), i cili pengon pĂ«rdorimin e teknikave tĂ« ndĂ«rtimit tĂ« eksploitave duke pĂ«rdorur metoda tĂ« programimit tĂ« orientuar nga kthimi (ROP, Return-Oriented Programming), ku eksploit formohet nĂ« formĂ«n e njĂ« zinxhiri thirrjesh tĂ« vegjĂ«l tĂ« instruksioneve machine tĂ« pranishme nĂ« memorien, qĂ« pĂ«rfundojnĂ« me instruksionin e rikthimit tĂ« kontrollit (zakonisht, kĂ«to janĂ« pĂ«rfundimet e funksioneve). QĂ«llimi i metodĂ«s sĂ« mbrojtjes tĂ« realizuar Ă«shtĂ« bllokimi i kalimeve indirekte nĂ« trupin e funksionit pĂ«rmes shtimit nĂ« fillim tĂ« funksionit njĂ« instruksioni tĂ« veçantĂ« ENDBR dhe lejimi i ekzekutimit pĂ«rmes njĂ« kalimi indirekt vetĂ«m nĂ« rastin e kalimit nĂ« kĂ«tĂ« instruksion (thirrja indirekte pĂ«rmes JMP dhe CALL duhet gjithmonĂ« tĂ« bjerĂ« nĂ« instruksionin ENDBR, i cili Ă«shtĂ« vendosur nĂ« fillim tĂ« funksionit).
    • ËshtĂ« pĂ«rfshirĂ« njĂ« kontroll mĂ« i rreptĂ« i kufijve tĂ« bufeve nĂ« funksionet memcpy(), memmove() dhe memset(), i cili kryhet nĂ« fazĂ«n e kompilimit me aktivizimin e modit CONFIG_FORTIFY_SOURCE. Ndryshimi i shtuar konsiston nĂ« kontrollin e daljes pĂ«rtej kufijve tĂ« elementeve tĂ« strukturove, tĂ« cilat kanĂ« njĂ« pĂ«rmasĂ« tĂ« njohur. VĂ«rehet se ky mundĂ«sim i realizuar mund tĂ« bllokojĂ« tĂ« gjitha tejkalimet e bufeve tĂ« lidhura me memcpy() nĂ« kernel, tĂ« identifikuara tĂ« paktĂ«n gjatĂ« tre viteve tĂ« fundit.
    • ËshtĂ« shtuar pjesa e dytĂ« e kodit tĂ« implementimit tĂ« pĂ«rmirĂ«suar tĂ« gjeneratorit tĂ« numrave tĂ« rastĂ«sishĂ«m RDRAND, i cili Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r funksionimin e pajisjeve /dev/random dhe /dev/urandom. Implementimi i ri Ă«shtĂ« i shquar pĂ«r unifikimin e funksionimit tĂ« /dev/random dhe /dev/urandom, duke shtuar mbrojtjen kundĂ«r shfaqjes sĂ« duplicatave nĂ« rrjedhĂ«n e numrave tĂ« rastĂ«sishĂ«m gjatĂ« fillimit. makinat virtuale dhe kalimin nĂ« pĂ«rdorimin e funksionit hash BLAKE2s nĂ« vend tĂ« SHA1 pĂ«r operacionet e pĂ«rzierjes sĂ« entropisĂ«. Ky ndryshim ka lejuar pĂ«rmirĂ«simin e sigurisĂ« sĂ« gjeneratorit tĂ« numrave tĂ« rastĂ«sishĂ«m, duke larguar algoritmin problematik SHA1 dhe duke pĂ«rjashtuar rishtazimin e vektorit tĂ« inicializimit RNG. Duke qenĂ« se algoritmi BLAKE2s Ă«shtĂ« mĂ« i shpejtĂ« se SHA1 nĂ« performancĂ«, pĂ«rdorimi i tij ka pasur gjithashtu njĂ« ndikim pozitiv nĂ« performancĂ«n.
    • PĂ«r arkitekturĂ«n ARM64 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r algoritmin e ri tĂ« autentikimit tĂ« treguesve — "QARMA3", i cili Ă«shtĂ« mĂ« i shpejtĂ« se algoritmi QARMA nĂ« ruajtjen e nivelit tĂ« duhur tĂ« mbrojtjes. Kjo teknologji lejon pĂ«rdorimin e instruksioneve tĂ« specializuara ARM64 pĂ«r verifikimin e adresave tĂ« kthimit pĂ«rmes nĂ«nshkrimeve digjitale, tĂ« cilat ruhen nĂ« bitĂ«t e sipĂ«rm tĂ« papĂ«rdorur tĂ« vetĂ« treguesit.
    • PĂ«r arkitekturĂ«n ARM64 Ă«shtĂ« realizuar mbĂ«shtetja e ndĂ«rtimit me aktivizimin nĂ« GCC 12 tĂ« modit tĂ« mbrojtjes nga rishtazimi i adresĂ«s sĂ« kthimit nga funksioni nĂ« rast tĂ« mbingarkesĂ«s sĂ« tamponit nĂ« grumbull. Thelbi i kĂ«tij mbrojtjeje Ă«shtĂ« ruajtja e adresĂ«s sĂ« kthimit pas kalimit tĂ« kontrollit nĂ« funksion nĂ« njĂ« grumbull tĂ« veçantĂ« "hije" dhe nxjerrja e kĂ«saj adrese para daljes nga funksioni.
    • ËshtĂ« shtuar njĂ« depo e re çelĂ«sash (keyring) — "machine", e cila pĂ«rmban çelĂ«sat e pronarit tĂ« sistemit (MOK, ÇelĂ«sat e Pronarit tĂ« Pajisjes), tĂ« cilat mbĂ«shteten nĂ« ngarkuesin shim. ÇelĂ«sat e pĂ«rmendur mund tĂ« pĂ«rdoren pĂ«r tĂ« nĂ«nshkruar digjitalisht komponentĂ«t e bĂ«rthamĂ«s qĂ« ngarkohen pas fazĂ«s fillestare tĂ« ngarkimit (pĂ«r shembull, modulet e bĂ«rthamĂ«s).
    • ËshtĂ« hequr mbĂ«shtetja pĂ«r çelĂ«sat e mbyllur asimetrikĂ« pĂ«r TPM, tĂ« cilat janĂ« propozuar nĂ« versionin e vjetĂ«r tĂ« TPM, kanĂ« probleme tĂ« njohura me sigurinĂ« dhe nuk kanĂ« gjetur shpĂ«rndarje nĂ« praktikĂ«.
    • ËshtĂ« shtuar mbrojtje pĂ«r tĂ« dhĂ«nat me tipin size_t nga mbingarkesat numerike. NĂ« kod janĂ« angazhuar menaxherĂ«t size_mul(), size_add() dhe size_sub(), tĂ« cilat lejojnĂ« kryerjen e sigurt tĂ« shumĂ«zimit, shtimit dhe zbritjes sĂ« madhĂ«sive me tipin size_t.
    • NĂ« ndĂ«rtimin e bĂ«rthamĂ«s janĂ« pĂ«rfshirĂ« flamujt «-Warray-bounds» dhe «-Wzero-length-bounds», tĂ« cilat japin paralajmĂ«rime kur indeksi del jashtĂ« kufijve tĂ« array-t dhe kur pĂ«rdoren array tĂ« gjatĂ« zero.
    • NĂ« pajisjen virtio-crypto Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r enkriptimin duke pĂ«rdorur algoritmin RSA.
  • Sistemi rrjetor
    • NĂ« implementimin e urave rrjetĂ« Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r modin e lidhjes sĂ« porteve (mode tĂ« mbyllur), ku pĂ«rdoruesi mund tĂ« dĂ«rgojĂ« trafik pĂ«rmes portit vetĂ«m me adresĂ«n MAC tĂ« lejuar. ËshtĂ« shtuar gjithashtu mundĂ«sia e pĂ«rdorimit tĂ« strukturave tĂ« shumta pĂ«r vlerĂ«simin e gjendjes sĂ« protokollit STP (Spanning Tree Protocol). MĂ« parĂ«, pĂ«r VLAN ishte e mundur vetĂ«m lidhja 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, ku, kur aktivizohet, 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 vazhdon mbi integrimin nĂ« strukturĂ«n rrjetore tĂ« mjeteve pĂ«r gjurmimin e shkakut tĂ« humbjes sĂ« pakove (kodet e shkakut). Kodi i shkakut dĂ«rgohet gjatĂ« çlirimit tĂ« memories tĂ« lidhur me paketĂ«n dhe lejon marjen nĂ« konsideratĂ« tĂ« situatave tĂ« tilla si humbja e paketĂ«s pĂ«r shkak tĂ« gabimeve nĂ« plotĂ«simin e fushave nĂ« kokĂ«, zbulimi i spofingut nga filtri rp_filter, llogaritja e gabuar, mungesa e memories, aktivizimi i rregullave IPSec XFRM, numri i gabuar i sekuencĂ«s TCP dhe tĂ« tjera.
    • ËshtĂ« siguruar mundĂ«sia e dĂ«rgimit tĂ« paketave rrjetĂ« nga programet BPF, tĂ« cilat ekzekutohen nga hapĂ«sira e pĂ«rdoruesit nĂ« modin BPF_PROG_RUN, ku programet BPF ekzekutohen nĂ« bĂ«rthamĂ«, por kthejnĂ« rezultatin nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Paketat dĂ«rgohen duke pĂ«rdorur nĂ«n-sistemin XDP (eXpress Data Path). MbĂ«shtetet regjimi live i pĂ«rpunimit tĂ« paketave, ku pĂ«rpunuesi XDP mund tĂ« ridrejtojĂ« paketat rrjetĂ« nĂ« grumbullin rrjetĂ« ose nĂ« pajisje tĂ« tjera nĂ« mĂ«nyrĂ« tĂ« menjĂ«hershme. Gjithashtu, Ă«shtĂ« e mundur tĂ« krijohen gjeneratorĂ« programatikĂ« tĂ« trafikut tĂ« jashtĂ«m ose tĂ« futen korniza rrjetĂ« nĂ« grumbullin rrjetĂ«.
    • PĂ«r programet BPF, tĂ« cilat janĂ« tĂ« lidhura me cgroups rrjetĂ«, janĂ« propozuar funksione ndihmĂ«se pĂ«r tĂ« vendosur shprehimisht vlerĂ«n qĂ« kthehet nga thirrjet sistemore, gjĂ« qĂ« lejon qĂ« tĂ« dĂ«rgohet mĂ« shumĂ« informacion nĂ« lidhje me 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 buferĂ«, duke lejuar pĂ«rpunimin e kadrove Jumbo nĂ« XDP dhe zbatimin e TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) pĂ«r XDP_REDIRECT.
    • Procesi i fshirjes sĂ« hapĂ«sirave tĂ« emrave rrjetĂ« Ă«shtĂ« pĂ«rshpejtuar ndjeshĂ«m, çka ishte e kĂ«rkuar nĂ« disa sisteme tĂ« mĂ«dha me volum tĂ« lartĂ« trafiku.
  • Pajisje
    • NĂ« driverin amdgpu, teknologjia e adaptivitetit tĂ« sinkronizimit FreeSync Ă«shtĂ« e aktivizuar nga e para, e cila lejon rregullimin e frekuencĂ«s sĂ« rifreskimit tĂ« informacionit nĂ« ekran, duke siguruar njĂ« pĂ«rvojĂ« tĂ« qetĂ« dhe pa shqetĂ«sime gjatĂ« lojĂ«rave dhe shikimit tĂ« videove. ËshtĂ« shpallur mbĂ«shtetje e qĂ«ndrueshme pĂ«r GPU Aldebaran.
    • NĂ« driverin i915 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r çipat Intel Alderlake N dhe kartat grafike diskrete Intel DG2-G12 (Arc Alchemist).
    • NĂ« driverin nouveau Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r bitrates mĂ« tĂ« larta pĂ«r ndĂ«rfaqet DP/eDP dhe mbĂ«shtetje pĂ«r zgjatĂ«sit e kabllit lttprs (Link-Training Tunable PHY Repeaters).
    • NĂ« nĂ«n-sisteminin drm (Direct Rendering Manager) nĂ« driverat 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, i cili lejon çaktivizimin e kalimeve tĂ« modĂ«s video nĂ« nivelin e bĂ«rthamĂ«s dhe pĂ«rdorimin e mjeteve pĂ«r akselerimin harduerik tĂ« vizatimit, duke ruajtur vetĂ«m funksionalitetin e lidhur me framebuffer-in sistemor.
    • ËshtĂ« shtuar mbĂ«shtetje pĂ«r ARM SoC Qualcomm Snapdragon 625/632 (e pĂ«rdorur nĂ« smartfonat LG Nexus 5X dhe Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (e pĂ«rdorur nĂ« Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek mt6582 (tablet Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 dhe i.MXRTxxxx.
    • ËshtĂ« shtuar mbĂ«shtetje pĂ«r ARM-çelĂ«sat dhe platforma 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, tablet 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).
    • ËshtĂ« shtuar mbĂ«shtetje 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. ËshtĂ« shtuar njĂ« implementim fillestar i driverit audio pĂ«r çipin DSP tĂ« Intel AVS. ËshtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r driverat pĂ«r Intel ADL dhe Tegra234, si dhe janĂ« bĂ«rĂ« ndryshime pĂ«r tĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r audio nĂ« pajisjet Dell, HP, Lenovo, ASUS, Samsung dhe Clevo.

    Në të njëjtën kohë, Fondi për Softin e Lirë të Amerikës Latine formoi variantin e bërthamës 5.18 të plotë dhe të lirë - Linux-libre 5.18-gnu, të pastruar nga elemente firmuese dhe përvoja që përmbajnë komponente të pa-lira ose pjesë kodi, përdorimi i të cilëve është i kufizuar nga prodhuesi. Në këtë publikim të ri, janë pastruar drivere për panelet MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) dhe Realtek 8852a/8852c, çipat audio Intel AVS dhe Texas Instruments TAS5805M. Po ashtu, janë pastruar skedarët DTS për SoC të ndryshëm Qualcomm me procesorë të bazuar në arkitekturën AArch64. Kodi për pastrimin e blobeve në driverët 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ë rinovuar.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster