Lançimi i bërthamës Linux 6.9

Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e kernelit Linux 6.9. Disa nga ndryshimet më të dukshme përfshijnë: moduli dm-vdo për deduplication dhe kompresimin e pajisjeve bllokuese, modalitetin e qasjes së drejtpërdrejtë në skedarë në FUSE, mbështetje për krijimin e pidfd për threads të veçanta, mekanizmin e BPF-tokenëve, mbështetje për Rust në sistemet ARM64, klasifikimin e FS Ext2 si të vjetruar, heqjen e drejtuesit të vjetër NTFS, dhe mbështetje për mekanizmin Intel FRED.

Në versionin e ri janë pranuar 15680 korrigjime nga 2106 zhvillues, madhësia e patch-it është 54 MB (ndryshimet prekën 11825 skedare, janë shtuar 687954 rreshta kodi, dhe janë fshirë 225344 rreshta). Në lëshimin e kaluar ishin 15641 korrigjime nga 2018 zhvillues, madhësia e patch-it ishte 44 MB. Afërsisht 42% e të gjitha ndryshimeve të paraqitura në 6.9 lidhen me drejtuesit e pajisjeve, rreth 17% e ndryshimeve kanë të bëjnë me përditësimin e kodit të veçantë për arkitekturën harduerike, 13% lidhen me stack-un rrjetor, 7% me sistemet e skedarëve, dhe 4% me nën-sistemet e brendshme të kernelit.

Novitetet kryesore në kernelin 6.9:

  • Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarĂ«ve
    • NĂ« Device Mapper (DM) Ă«shtĂ« shtuar njĂ« trajtues i ri dm-vdo (virtual data optimizer), qĂ« lejon qĂ« mbi pajisjet bllokuese ekzistuese tĂ« realizohet njĂ« pajisje bllokuese virtuale, me mundĂ«si si deduplication e tĂ« dhĂ«nave tĂ« pĂ«rsĂ«ritura, kompresimi i tĂ« dhĂ«nave, pĂ«rjashtimi i bllokave tĂ« zbrazĂ«ta dhe rritja e madhĂ«sisĂ« sĂ« pajisjes bllokuese sipas nevojĂ«s (thin provisioning). KĂ«to mundĂ«si realizohen nĂ« nivelin e pajisjes bllokuese dhe nuk varen nga sistemi i skedarĂ«ve tĂ« pĂ«rdorur (pĂ«r shembull, me dm-vdo mund tĂ« realizohet automatizimi i bashkimit tĂ« tĂ« dhĂ«nave tĂ« dyfishta dhe ruajtja e informacionit nĂ« formĂ« tĂ« kompresuar pĂ«r çdo FS). MbĂ«shtetet pĂ«rdorimi i dm-vdo pĂ«r magazinat fizike deri nĂ« 256TB dhe krijimi i volumesh logjike deri nĂ« 4PB. PĂ«r menaxhimin e ndarjeve vdo rekomandohet pĂ«rdorimi i lvm. Teknologjia VDO Ă«shtĂ« zhvilluar nga kompania Permabit dhe Ă«shtĂ« bĂ«rĂ« open source pas blerjes sĂ« saj nga Red Hat nĂ« vitin 2017.
    • NĂ« nĂ«n-sistemin FUSE, i cili pĂ«rdoret pĂ«r realizimin e sistemeve tĂ« skedarĂ«ve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, Ă«shtĂ« shtuar njĂ« realizim fillestar i modalitetit «passthrough», i cili lejon marrjen e tĂ« dhĂ«nave tĂ« skedarĂ«ve nĂ« nivelin e kernelit, duke anashkaluar procesin qĂ« punon nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, duke e bĂ«rĂ« kĂ«shtu tĂ« mundur pĂ«rmirĂ«simin e dukshĂ«m tĂ« performancĂ«s nĂ« disa raste. PĂ«r shembull, realizimet FUSE tĂ« FS qĂ« punojnĂ« nĂ« modalitetin vetĂ«m pĂ«r lexim dhe kufizojnĂ« qasjen nĂ« skedarĂ« mund tĂ« kthejnĂ« pĂ«rmbajtjen e skedarĂ«ve nga FS origjinale pa e dĂ«rguar atĂ« nĂ« procesin FUSE.
    • Drejtuesi i realizimit tĂ« sistemit tĂ« skedarĂ«ve Ext2 Ă«shtĂ« klasifikuar si i vjetruar (deprecated). Arsyeja pĂ«r kĂ«tĂ« Ă«shtĂ« mbĂ«shtetja e vetĂ«m 32-bit tĂ« numrave tĂ« kohĂ«s nĂ« inode, tĂ« cilĂ«t do tĂ« mbushen mĂ« 19 janar 2038. NĂ« vend tĂ« drejtuesit ext2, sugjerohet pĂ«rdorimi i drejtuesit ext4, i cili mbĂ«shtet funksionimin me sistemin e skedarĂ«ve Ext2 dhe Ă«shtĂ« plotĂ«sisht kompatibĂ«l me tĂ«, por gjithashtu mund tĂ« pĂ«rdorĂ« nĂ« ndarjet e ext2 regjistrime tĂ« dhĂ«nash qĂ« nuk janĂ« tĂ« ekspozuara ndaj problemit tĂ« vitit 2038, nĂ«se FS Ă«shtĂ« krijuar me inode mĂ« tĂ« mĂ«dha se 255 byte (nĂ« drejtuesin ext2, numrat 32-bit tĂ« kohĂ«s pĂ«rdoren pavarĂ«sisht nga madhĂ«sia e inode).
    • Drejtuesi i vjetĂ«r i sistemit tĂ« skedarĂ«ve NTFS Ă«shtĂ« hequr, pĂ«r tĂ« cilin qĂ« nga lĂ«shimi 5.15 ka ardhur drejtuesi i ri NTFS3. PĂ«rdorimi i dy drejtuesve me realizimin e NTFS nĂ« kernel Ă«shtĂ« konsideruar si jo e arsyeshme, duke marrĂ« parasysh se drejtuesi i vjetĂ«r nuk ka pĂ«rditĂ«suar pĂ«r shumĂ« vite, ndodhet nĂ« njĂ« gjendje tĂ« keqe dhe mund tĂ« punojĂ« vetĂ«m nĂ« modalitetin e leximit.
    • NĂ« sistemet e skedarĂ«ve zonefs dhe hugetlbfs Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mapimin e identifikuesve tĂ« pĂ«rdoruesve tĂ« sistemeve 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.
    • NĂ« NFSv4, pĂ«r administratorĂ«t Ă«shtĂ« dhĂ«nĂ« mundĂ«sia pĂ«r tĂ« pastruar gjendjet e hapjes dhe bllokimeve tĂ« skedarĂ«ve.
    • PĂ«r sistemin e skedarĂ«ve Ext4, janĂ« shĂ«nuar vetĂ«m korrigjime tĂ« gabimeve dhe pĂ«rditĂ«sime tĂ« testeve kunit.
    • NĂ« Btrfs vazhdon pĂ«rkthimi i funksioneve pĂ«r tĂ« pĂ«rdorur fletĂ«t e faqeve tĂ« memories (page folios).
    • NĂ« sistemin e skedarĂ«ve XFS Ă«shtĂ« vazhduar puna mbi implementimin e mundĂ«sisĂ« sĂ« pĂ«rdorimit tĂ« utiles fsck pĂ«r tĂ« kontrolluar dhe rregulluar problemet e gjetura nĂ« modalitet online, pa çmontimin e sistemit tĂ« skedarĂ«ve.
    • NĂ« thirrjen sistemike pwritev2() Ă«shtĂ« shtuar flag RWF_NOAPPEND, e cila lejon pĂ«rcaktimin e njĂ« zhvendosjeje pĂ«r shkrim, edhe nĂ«se skedari Ă«shtĂ« hapur nĂ« modalitetin e vetĂ«m shtimit tĂ« tĂ« dhĂ«nave nĂ« fund tĂ« skedarit.
    • Shtohen komanda tĂ« reja ioctl: FS_IOC_GETUUID — kthen identifikuesin UUID tĂ« sistemit tĂ« skedarĂ«ve tĂ« caktuar, dhe FS_IOC_GETFSSYSFSPATH — pĂ«rcakton vendndodhjen nĂ« /sys/fs tĂ« FSH tĂ« montuar.
    • Sistemet e skedarĂ«ve efs, qnx4 dhe coda janĂ« ndarĂ« pĂ«r pĂ«rdorimin e API-sĂ« sĂ« re pĂ«r montimin e ndarjeve.
    • Implementimi i operacioneve me skedarĂ« u pĂ«rmirĂ«sua, duke u realizuar pa marrĂ« parasysh rastĂ«sinĂ« e karaktereve. Rritja e performancĂ«s Ă«shtĂ« arritur duke filluar nga krahasimi me marrjen parasysh tĂ« rastĂ«sisĂ« sĂ« karaktereve dhe duke kaluar nĂ« njĂ« kĂ«rkim pa marrĂ« parasysh rastĂ«sinĂ«. Problemet gjatĂ« montimit tĂ« overlayfs mbi katalogĂ«t, pĂ«r tĂ« cilĂ«t Ă«shtĂ« vendosur mĂ«nyra pa marrĂ« parasysh rastĂ«sinĂ« e karaktereve, janĂ« zgjidhur.
  • Kujtesa dhe shĂ«rbimet sistemore
    • MbĂ«shtetje pĂ«r mekanizmin Intel FRED (Flexible Return and Event Delivery) Ă«shtĂ« realizuar, i krijuar pĂ«r tĂ« rritur efikasitetin dhe besueshmĂ«rinĂ« e dĂ«rgimit tĂ« informacionit rreth ngjarjeve tĂ« nivelit tĂ« ulĂ«t, krahasuar me mekanizmin aktual IDT (Interrupt Descriptor Table). Rritja e performancĂ«s dhe reduktimi i vonesave sigurohen falĂ« rikthimit tĂ« ngjarjeve nga instrukcioni i procesorit IRET nĂ« vend tĂ« dĂ«rgimit tĂ« ngjarjeve pĂ«rmes tabelĂ«s IDT. Rritja e besueshmĂ«risĂ« arrihet pĂ«rmes procesimit tĂ« ndarĂ« tĂ« marrjes sĂ« ngjarjeve nĂ« kontekstin e bĂ«rthamĂ«s dhe kontekstin e pĂ«rdoruesit, mbrojtjes nga ekzekutimi i brendshĂ«m NMI dhe ruajtjes nĂ« kuadĂ«r tĂ« zgjeruar tĂ« grumbullit tĂ« tĂ« gjithĂ« regjistrat e lidhur me pĂ«rjashtimin.
    • Shtuara e mundĂ«sisĂ« pĂ«r optimizimin e qasjes nĂ« tĂ« dhĂ«nat e bĂ«rthamave CPU pĂ«rmes pĂ«rdorimit nĂ« kodin e bĂ«rthamĂ«s tĂ« hapĂ«sirave tĂ« adresave tĂ« emĂ«ruara (Named Address Spaces), tĂ« realizuara nĂ« GCC si njĂ« zgjerim tĂ« GNU C.
    • NĂ« funksionin pidfd_open() Ă«shtĂ« shtuar flagu PIDFD_THREAD, qĂ« lejon krijimin e pidfd pĂ«r bĂ«rthamat e veçanta, dhe jo vetĂ«m pĂ«rdorimin e pidfd nĂ« kontekstin e liderit tĂ« grupit tĂ« bĂ«rthamave. Gjithashtu, Ă«shtĂ« propozuar implementimi i njĂ« sistemi tĂ« maskuar pĂ«r qasjen nĂ« pidfd pĂ«rmes sistemit tĂ« skedarĂ«ve virtual. Ndryshe nga identifikimi i proceseve duke pĂ«rdorur pid, identifikuesi pidfd lidhet me njĂ« proces tĂ« veçantĂ« dhe nuk ndryshon, ndĂ«rsa PID pas pĂ«rfundimit tĂ« procesit aktual mund tĂ« lidhet me njĂ« proces tjetĂ«r.
    • NĂ« nĂ«nshkallĂ«n BPF Ă«shtĂ« shtuar mekanizmi BPF-token, qĂ« lejon delegimin selektiv tĂ« tĂ« drejtave tĂ« qasjes pĂ«r programet nĂ« operacione tĂ« privilegjuara BPF, pĂ«r shembull, mund tĂ« ofrohet qasje pĂ«r njĂ« aplikacion jo tĂ« privilegjuar nĂ« nĂ«nshkalla tĂ« veçanta BPF pa ofruar tĂ« drejtat e plota CAP_BPF.
    • NĂ« nĂ«nshkallĂ«n BPF Ă«shtĂ« shtuar njĂ« lloj i ri memorie tĂ« ndarĂ« bpf_arena, qĂ« pĂ«rcakton njĂ« zonĂ« tĂ« disponueshme pĂ«r ndarjen e informacionit mes programeve BPF dhe proceseve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. ËshtĂ« shtuar instrukcioni may_goto, qĂ« lejon organizimin e cikleve qĂ« mund tĂ« ndĂ«rpriten nga verifikuesi. ËshtĂ« shtuar mundĂ«sia e gjenerimit tĂ« cookies TCP SYN nga programet BPF dhe krijimi i trajtuesve BPF pĂ«r tĂ« luftuar SIN-flood.
    • Transferimi i ndryshimeve nga dega Rust-for-Linux, i lidhura me pĂ«rdorimin e gjuhĂ«s Rust si gjuhĂ« e dytĂ« pĂ«r zhvillimin e drejtorive dhe moduleve tĂ« bĂ«rthamĂ«s, Ă«shtĂ« vazhduar (mbĂ«shtetje pĂ«r Rust nuk Ă«shtĂ« aktive nga fillimi, dhe nuk e bĂ«n Rust njĂ« varĂ«si tĂ« detyrueshme pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s). ËshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e gjuhĂ«s Rust nĂ« procesorĂ«t 64-bit ARM. ËshtĂ« arritur kalimi nĂ« versionin Rust 1.76. ËshtĂ« shtuar makro ‘container_of!’. NĂ« vend tĂ« funksionalitetit tĂ« paqĂ«ndrueshĂ«m ‘ptr_metadata’, Ă«shtĂ« pĂ«rdorur metoda e qĂ«ndrueshme ‘byte_sub’. ËshtĂ« shtuar moduli ‘time’ me funksionin e konvertimit tĂ« kohĂ«s ‘msecs_to_jiffies()’.
    • NĂ« nĂ«nshkallĂ«n io_uring Ă«shtĂ« shtuar mundĂ«sia e shkurtimit tĂ« skedarĂ«ve (ftruncate_file).
    • ËshtĂ« shtuar njĂ« lloj tĂ« ri rreshtesh WQ_BH (workqueue Bottom Halves) pĂ«r ekzekutimin e kodit nĂ« mĂ«nyrĂ« asinkrone nĂ« kontekstin e ndĂ«rprerjeve softuerike, e destinuar tĂ« pĂ«rdoret nĂ« vend tĂ« tasklet-Ă«s tĂ« vjetĂ«ruar.
    • NĂ« mĂ«nyrĂ« tĂ« konsiderueshme Ă«shtĂ« riparuar nĂ«nshkalla e punĂ«s me timerin, nĂ« tĂ« cilin Ă«shtĂ« pĂ«rmirĂ«suar logjika e zgjedhjes sĂ« bĂ«rthamĂ«s aktive CPU pĂ«r ekzekutimin e timerit tĂ« aktivizuar, pĂ«r tĂ« mos nxjerrĂ« bĂ«rthamat joaktive nga gjumi.
    • ËshtĂ« realizuar mundĂ«sia e pĂ«rditĂ«simit tĂ« modelit tĂ« konsumit tĂ« energjisĂ« tĂ« bĂ«rthamĂ«s (EM, Energy Model) gjatĂ« punĂ«s, e cila mund tĂ« pĂ«rdoret, pĂ«r shembull, pĂ«r tĂ« marrĂ« parasysh ndikimin e temperaturĂ«s sĂ« punĂ«s nĂ« efikasitetin energjitik tĂ« CPU. Funksioni em_cpu_energy() Ă«shtĂ« optimizuar ndjeshĂ«m, qĂ« nĂ« testet nĂ« sistemin e qĂ«ndrueshĂ«m tani ekzekutohet mĂ« shpejt me 1.43 herĂ«, ndĂ«rsa nĂ« testin nĂ« bordin RockPi 4B — me 1.69 herĂ«.
    • ËshtĂ« shtuar mbĂ«shtetje pĂ«r lançimin e sistemeve tĂ« bazuara nĂ« arkitekturĂ«n ARM64 nĂ« modin LPA2 me hapĂ«sirĂ« adresash virtuale 52-bit.
    • PĂ«r sistemet ARM64 Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r regjistrat e vazhdueshĂ«m PTE (Page Table Entry), qĂ« lejojnĂ« rritjen e performancĂ«s duke rritur efikasitetin e pĂ«rdorimit tĂ« TLB (Translation Lookaside Buffer).
    • JanĂ« pranuar patch-a pĂ«r tĂ« rritur performancĂ«n e nĂ«nshkallĂ«s sĂ« menaxhimit tĂ« memories duke reduktuar shfaqjen e bllokimeve konkurruese nĂ« vmalloc().
    • PĂ«r arkitekturĂ«n LoongArch Ă«shtĂ« realizuar njĂ« mekanizĂ«m pĂ«r patch-at e nxehtĂ« nĂ« bĂ«rthamĂ« (live patching), qĂ« lejon aplikimin e rregullimeve nĂ« bĂ«rthamĂ« pa ripĂ«rkthim.
    • PĂ«r sistemet RISC-V Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r thirrjen e sistemit membarrier(), e cila siguron vendosjen e barrierave nĂ« memorje pĂ«r threads qĂ« funksionojnĂ« nĂ« sistem.
    • JanĂ« rritur kĂ«rkesat pĂ«r versionin LLVM/Clang qĂ« mund tĂ« pĂ«rdoret pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s. Tani kĂ«rkohet tĂ« paktĂ«n versioni LLVM 13.0.1 (ndĂ«rsa mĂ« parĂ« ishte e mundur ndĂ«rtimi nĂ« LLVM 11+).
    • NĂ« mekanizmin e 'User trace events', i cili lejon krijimin e ngjarjeve tĂ« gjurmimit nga proceset e pĂ«rdoruesit pĂ«r ndjekjen e aktivitesh nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r eksportimin e informacionit mbi ngjarjen nĂ« formate tĂ« ndryshme (USER_EVENT_REG_MULTI_FORMAT).
    • NĂ« mekanizmin e gjurmimit tĂ« thirrjeve tĂ« funksioneve Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« ndjekur gjendjen e argumenteve hyrĂ«se tĂ« funksionit gjatĂ« gjurmimit tĂ« daljes nga funksioni. Vlerat e operatorit return tani mund tĂ« lidhen me argumentet e pĂ«rdorura gjatĂ« thirrjes sĂ« funksionit.
    • NĂ« utilitarin perf Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r modin e agregimit tĂ« daljes 'cluster' ('perf stat -a —per-cluster') pĂ«r tĂ« bashkuar statistikat e burimeve tĂ« ndara. ËshtĂ« implementuar mundĂ«sia pĂ«r tĂ« angazhuar bibliotekĂ«n libcapstone pĂ«r desasemblimin e instruksioneve tĂ« procesorit ('perf script -F disasm'). JanĂ« bĂ«rĂ« optimizime tĂ« konsumit tĂ« memorjes gjatĂ« ekzekutimit tĂ« komandave perf report dhe perf annotate.
  • Virtualizimi dhe siguria
    • ËshtĂ« shtuar mbrojtja nga vulnerabiliteti RFDS (Register File Data Sampling) nĂ« procesorĂ«t Intel Atom, e cila lejon nxjerrjen e informacionit tĂ« mbetur nga skedarĂ«t e regjistrave (RF, Register File) tĂ« procesorit, tĂ« cilĂ«t pĂ«rdoren pĂ«r tĂ« ruajtur pĂ«rmbajtjen e regjistrave nĂ« tĂ« gjitha detyrat nĂ« tĂ« njĂ«jtin bĂ«rthamĂ« tĂ« CPU-sĂ«. PĂ«r tĂ« bllokuar vulnerabilitetin kĂ«rkohet pĂ«rditĂ«simi i mikro-kodit dhe pĂ«rdorimi i instruksionit VERW pĂ«r tĂ« pastruar pĂ«rmbajtjen e bufereve mikroarkitekturale nĂ« momentin e kthimit nga bĂ«rthama nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. PĂ«r tĂ« aktivizuar mbrojtjen gjatĂ« ngarkimit tĂ« bĂ«rthamĂ«s mund tĂ« pĂ«rcaktohet flamuri 'reg_file_data_sampling=on'. Informacioni mbi ndjeshmĂ«rinĂ« ndaj vulnerabilitetit dhe disponueshmĂ«rinĂ« e mikro-kodit tĂ« nevojshĂ«m pĂ«r mbrojtje mund tĂ« vlerĂ«sohet nĂ« skedarin '/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling'.
    • ËshtĂ« shtuar mbĂ«shtetje bazike pĂ«r mbrojtjen e sistemeve tĂ« mysafirĂ«ve pĂ«rmes zgjerimit AMD SEV-SNP (Secure Nested Paging), i cili siguron punĂ« tĂ« sigurt me tabela tĂ« pĂ«rfshira tĂ« memorjes dhe mbron nga sulmet 'undeSErVed' dhe 'SEVerity' nĂ« procesorĂ«t AMD EPYC, tĂ« cilat mund tĂ« anashkalojnĂ« mekanizmin e mbrojtjes AMD SEV (Secure Encrypted Virtualization). Ne KVM ndryshimet e nevojshme pĂ«r pĂ«rdorimin e SNP planifikohen tĂ« shtohen nĂ« degĂ«n 6.10.
    • Modulet me implementimin e teknologjive IMA (Integrity Measurement Architecture) dhe EVM (Extended Verification Module) janĂ« transferuar pĂ«r tĂ« pĂ«rdorur kornizĂ«n LSM (Linux Security Modules), e cila pa humbje funksionaliteti ka lejuar njĂ« thjeshtim tĂ« dukshĂ«m tĂ« kodit, duke bashkuar funksionalitetet e kopjuara dhe duke angazhuar mundĂ«sitĂ« e zakonshme pĂ«rmes LSM. Moduli IMA Ă«shtĂ« i destinuar pĂ«r tĂ« verifikuar integritetin e komponenteve tĂ« sistemit operativ pĂ«rmes nĂ«nshkrimeve dixhitale dhe hash-eve. Moduli EVM lejon tĂ« mbrojĂ« atributet e zgjeruara tĂ« skedarĂ«ve (xattrs) nga sulmet qĂ« kanĂ« pĂ«r qĂ«llim tĂ« dĂ«mtojnĂ« integritetin e tyre (EVM nuk do tĂ« lejojĂ« njĂ« sulm offline, ku njĂ« sulmues mund tĂ« ndryshojĂ« metadata, pĂ«r shembull, duke u ngarkuar nga disku i tij).
    • JanĂ« ridizajnuar pĂ«r njĂ« mĂ« tĂ« madhe kompatibilitet me ambientet 32-bit thirrjet e sistemit lsm_list_modules(), lsm_get_self_attr() dhe lsm_set_self_attr(), tĂ« destinuara pĂ«r tĂ« dhĂ«nĂ« njĂ« listĂ« tĂ« modulit LSM tĂ« ngarkuar (Linux Security Modules) dhe pĂ«r tĂ« marrĂ«/ vendosur atributet e modulit LSM. Ndryshimi e shkel backward compatibility-nĂ«, por pasi thirrjet e reja tĂ« sistemit u shtuan nĂ« versionin e kaluar tĂ« bĂ«rthamĂ«s dhe pĂ«r momentin nuk pĂ«rdoren nĂ« aplikacione, Linus Torvalds e konsideroi se ndryshimi Ă«shtĂ« i pranueshĂ«m.
    • ËshtĂ« bĂ«rĂ« njĂ« pĂ«rpjekje pĂ«r tĂ« rinisur pĂ«rdorimin e mekanizmit UBSAN (Undefined Behavior Sanitizer). Problemi qĂ«ndron se kompajluesit i trajtojnĂ« ndryshe mbushjet e plota tĂ« integerĂ«ve me lloje tĂ« nĂ«nshkruara dhe tĂ« pabashkuar. Mbushjet e plota tĂ« integerĂ«ve me nĂ«nshkrim dhe mbushjet e pointerĂ«ve bien nĂ« kategorinĂ« e sjelljes sĂ« paqartĂ«, ndĂ«rsa mbushjet e plota tĂ« integerĂ«ve tĂ« pabashkuar shkurtohen modulo 2n me ruajtjen vetĂ«m e biteve mĂ« tĂ« rinj tĂ« rezultatit ('wrap-around') dhe nuk bien nĂ«n sjellje tĂ« paqartĂ«. PĂ«r tĂ« pĂ«rjashtuar situatat e ndodhjes sĂ« sjelljes sĂ« paqartĂ«, bĂ«rthama ndĂ«rtohet me opsionin '-fno-strict-overflow', i cili çon nĂ« pĂ«rdorimin e 'wrap-around' pĂ«r tĂ« gjitha mbushjet e plota tĂ« integerĂ«ve. GCC dhe Clang nuk mund tĂ« diagnostikojnĂ« normalisht disa probleme kur pĂ«rdoret flamuri '-fno-strict-overflow' dhe pĂ«rfshirja e UBSAN ka pĂ«r qĂ«llim tĂ« zhvillojĂ« njĂ« bashkĂ«punim me zhvilluesit e kompajlerĂ«ve pĂ«r tĂ« eliminuar alarme tĂ« rreme qĂ« lindin dhe pĂ«r tĂ« identifikuar mbushjet e plota tĂ« integerĂ«ve nĂ« vendet ku nuk ka verifikime tĂ« qarta.

      Për të verifikuar mbushjet e mundshme në bërthamë, përdoren konstrukte si «var + offset PAGE_SHIFT) < pgoff){..}»), të cilat janë të lidhura me ndërtimin me flamurin «-fno-strict-overflow» dhe nuk mbulojnë gjithë kodin, në të cilin mund të ndodhin mbushje. Problemi është se, me përdorimin e UBSAN, këto kontrolle shkaktonin një numër të madh paralajmërimesh të rreme, dhe për këtë arsye në vitin 2021, UBSAN musht u çaktivizua. Në realizimin e azhurnuar, është propozuar përdorimi i anotacioneve speciale __signed_wrap dhe __unsigned_wrap, si dhe makros me kontrolle add_would_overflow(a, b) dhe add_wrap(a, b), të cilat ndihmojnë në ndarjen e përdorimeve të parashikuara të mbushjeve të numrave të plota nga ato të rastësishme, që mund të sjellin dobësitë. Propozimi për një riparim më të gjerë të bërthamës me futur definita të reja të tipeve u refuzua nga Linus Torvalds.

  • Sistemi i rrjetit
    • NĂ« nĂ«nshkallĂ«n rrjet, janĂ« bĂ«rĂ« punĂ« pĂ«r tĂ« reduktuar ndodhitĂ« e bllokimeve konkurruese (lock contention, pĂ«rpjekja pĂ«r tĂ« marrĂ« njĂ« bllokim tĂ« mbajtur nga njĂ« proces tjetĂ«r). JanĂ« reduktuar pĂ«rdorimet e bllokimeve RTNL.
    • ËshtĂ« shtuar mundĂ«sia pĂ«r tĂ« aktivizuar mbĂ«shtetje pĂ«r polling aktiv tĂ« soketeve (busy polling) nĂ« kontekstin e thirrjeve tĂ« veçanta tĂ« epoll. MadhĂ«sia e grupit dhe parametrat e buxhetit mund tĂ« vendosen veçmas nga parametrat sistemikĂ« tĂ« parazgjedhur.
    • ËshtĂ« realizuar struktura net_hotdata pĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin e ĐșĐ”ŃˆĐŸŃ‚ tĂ« variablave mĂ« tĂ« pĂ«rdorura tĂ« konfigurimit rrjet.
    • NĂ« MPTCP Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r vendosjen e opsionit TCP_NOTSENT_LOWAT pĂ«r soketĂ«t, i cili lejon tĂ« kufizohet madhĂ«sia e buferit tĂ« dĂ«rgimit. NĂ« API pĂ«r soketĂ«t MCTP Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r identifikuesit e rrjetit (network ID), qĂ« lejon pĂ«rdorimin e disa rrjeteve MCTP tĂ« papĂ«rgjatĂ«shme nĂ« njĂ« host.
    • NĂ« IPSec Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ridrejtimin e mesazheve ICMP me informacione pĂ«r gabime (RFC 4301).
    • Procesi i skanimit tĂ« rrugĂ«ve me jetĂ« tĂ« skaduar Ă«shtĂ« pĂ«rshpejtuar.
    • PĂ«rshpejtuar funksionimi i XDP, falĂ« shmangies mĂ« tĂ« rreptĂ« tĂ« alokimit tĂ« blloqeve tĂ« mĂ«dha tĂ« memories.
    • Shtuar mundĂ«sia e lidhjes sĂ« metadata me mesazhet netconsole.
    • NĂ« Netfilter Ă«shtĂ« lejuar definimi nga hapĂ«sira pĂ«rdoruesi i tabelave qĂ« lidhen me procesin e menaxhimit nĂ« prapavijĂ« dhe nuk fshihen automatikisht pas pĂ«rfundimit tĂ« aplikacionit tĂ« pĂ«rdoruesit.
    • NĂ« nftables Ă«shtĂ« pĂ«rshpejtuar shtimi i elementeve nĂ« set-grupet me intervale tĂ« bashkuara.
  • Pajisjet
    • NĂ« drejtuesin i915 Ă«shtĂ« vazhduar puna pĂ«r tĂ« realizuar mbĂ«shtetje pĂ«r çipat Intel LunarLake (Xe 2). JanĂ« shtuar identifikues tĂ« rinj PCI pĂ«r pajisjet tĂ« bazuara nĂ« çipat Intel Arrow Lake dhe Alder Lake N. PĂ«r Displayport Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r tunneling (DP tunneling) dhe alokimin e bandwidth. PĂ«r tĂ« gjitha platformat Ă«shtĂ« aktivizuar mode fastboot. Shtuar mbĂ«shtetje pĂ«r daljen e depurimit tĂ« lidhur me pajisje tĂ« veçanta.
    • NĂ« drejtuesin AMDGPU Ă«shtĂ« pĂ«rgatitur pĂ«r realizimin e mbĂ«shtetjes pĂ«r GPU AMD RDNA3.5 dhe RDNA4. Shtuar mbĂ«shtetje pĂ«r ATHUB 4.1, LSDMA 7.0, JPEG DPG, IH 7.0, HDP 7.0, VCN 5.0, SMU 13.0.6, NBIO 7.11, SDMA 6.1, MMHUB 3.3, DCN 3.5.1, NBIF 6.3.1, VPE 6.1.1 dhe framework-in RAS ACA. NĂ« modul tĂ« bĂ«rthamĂ«s Ă«shtĂ« shtuar parametri freesync_video pĂ«r aktivizimin e mbĂ«shtetjes eksperimentale pĂ«r optimizimin e kalimit tĂ« modesh tĂ« videos duke pĂ«rdorur teknologjinĂ« e sinkronizimit adaptiv FreeSync.
    • NĂ« drejtuesin Nouveau kodi i menaxhimit tĂ« ekranit Ă«shtĂ« kaluar nĂ« pĂ«rdorimin e funksionit kmemdup().
    • Puna pĂ«r drejtuesin drm (Direct Rendering Manager) Xe pĂ«r GPU tĂ« bazuar nĂ« arkitekturĂ«n Intel Xe, e cila pĂ«rdoret nĂ« kartat grafike Intel tĂ« familjes Arc dhe grafikĂ«n e integruar, duke filluar nga procesorĂ«t Tiger Lake, Ă«shtĂ« vazhduar.
    • Shtuar drejtues DRM pĂ«r çipat Mediatek MT8188 VDOSYS1.
    • CilĂ«simet e lidhura me nĂ«nshkallat video janĂ« transferuar nĂ« seksionin CONFIG_VIDEO.
    • Shtuar mbĂ«shtetje pĂ«r ARM64 SoC: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M), TI J722S.
    • Shtuar mbĂ«shtetje pĂ«r platformat ARM dhe pajisjet: telefonat Android tĂ« bazuar nĂ« çipin Tegra30, modelet Chromebook tĂ« bazuara nĂ« Mediatek MT8186, NAS, tabletat dhe konsolat e lojĂ«rave tĂ« bazuara nĂ« Rockchips RK35xx, bordet White Hawk tĂ« bazuara nĂ« SoC Renesas, bordet tĂ« bazuara nĂ« Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.
    • BĂ«rĂ« njĂ« refaktorizim tĂ« kodit tĂ« nĂ«nshkallĂ«s audio ALSA. Shtuar mbĂ«shtetje pĂ«r sistemet audio Microchip SAM9x7, NXP i.MX95 dhe Qualcomm WCD939x. NĂ« drejtuesin SoundWire Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ASoC me koprocessorĂ«t audio AMD ACP 6.3, dhe pĂ«r sistemet Intel Ă«shtĂ« realizuar moda DSPless. Shtuar mbĂ«shtetje pĂ«r kodekĂ«t audio shtesĂ« Cirrus HD. NĂ« drejtuesin virtio Ă«shtĂ« pĂ«rmirĂ«suar menaxhimi i pajisjeve audio.
    • Shtuar mbĂ«shtetje pĂ«r kontrolluesit Ethernet Marvell Octeon PCI Endpoint NIC VF dhe Intel E825-C 100G.

NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Fondi Latin Amerikano pĂ«r Softin e LirĂ« formoi njĂ« variant tĂ«rĂ«sisht tĂ« lirĂ« tĂ« kernelit 6.9 — Linux-libre 6.9-gnu, i pastruar nga elemente firmware dhe drivere qĂ« pĂ«rmbajnĂ« komponente ose pjesĂ« kodi tĂ« nesĂ«rm tĂ« kufizuara nga prodhuesi. NĂ« lĂ«shimin 6.9, Ă«shtĂ« pĂ«rditĂ«suar kodi i pastrimit tĂ« blob-eve nĂ« driverĂ«t amdgpu, ath12k, adreno, btusb dhe r8169. ËshtĂ« kryer pastrimi i driverit tĂ« ri ptp_fc3. ËshtĂ« kryer pastrimi i emrave tĂ« blob-eve nĂ« skedarĂ«t dts (devicetree) pĂ«r arkitekturĂ«n Aarch64. JanĂ« zgjidhur problemet me pastrimin e driverit i915 qĂ« shkaktonin bllokim gjatĂ« inicializimit. JanĂ« bĂ«rĂ« ndryshime qĂ« lidhen me trajtimin e blob-eve, tĂ« ofruara nĂ« formĂ«n e dump-eve nĂ« hex.

Burimi: opennet.ru

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