Lëshimi i bërthamorit të Linux 6.9

Pas dy muaj zhvillimi, Linus Torvalds prezantoi versionin e kernelit Linux 6.9. Ndër ndryshimet më të dukshme janë: moduli dm-vdo për deduplication dhe kompresionin e pajisjeve bllokuese, mënyra e qasjes direkte në skedarë në FUSE, mbështetja për krijimin e pidfd për çdo thread, mekanizmi i tokenëve BPF, mbështetje për Rust në sistemet ARM64, klasifikimi i FS Ext2 si i vjetruar, dhe heqja e drejtuesit të vjetër NTFS, gjithashtu mbështetje për mekanizmin Intel FRED.

Në versionin e ri janë përfshirë 15680 korrigjime nga 2106 zhvillues, madhësia e patch-it është 54 MB (ndryshimet preken 11825 skedarë, 687954 rreshta kodi janë shtuar, 225344 rreshta janë fshirë). Në versionin e kaluar ishin 15641 korrigje nga 2018 zhvillues, madhësia e patch-it ishte 44 MB. Rreth 42% e gjitha ndryshimeve në 6.9 lidhen me drejtuesit e pajisjeve, afërsisht 17% e ndryshimeve kanë të bëjnë me azhurnimin e kodit specifik për arkitekturat harduerike, 13% lidhen me grumbullin e rrjetit, 7% me sistemet e skedarëve dhe 4% me nënssystemet e brendshme të kernelit.

Novitet kryesore në kernelin 6.9:

  • Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarĂ«ve
    • NĂ« Device Mapper (DM) Ă«shtĂ« shtuar njĂ« trajtues i ri dm-vdo (virtual data optimizer), i cili lejon krijimin e njĂ« pajisje bllokuese virtuale mbi bazĂ«n e pajisjeve bllokuese ekzistuese, me mundĂ«si si deduplication e tĂ« dhĂ«nave tĂ« pĂ«rsĂ«ritura, kompresionin e tĂ« dhĂ«nave, pĂ«rjashtimin e bllokave bosh dhe rritjen e madhĂ«sisĂ« sĂ« pajisjes bllokuese kur Ă«shtĂ« e nevojshme (thin provisioning). KĂ«to mundĂ«si implementohen nĂ« nivelin e pajisjes bllokuese dhe nuk varen nga sistemi i skedarĂ«ve tĂ« pĂ«rdorur (pĂ«r shembull, me dm-vdo mund tĂ« implementohet bashkimi automatik i tĂ« dhĂ«nave tĂ« dubluara dhe ruajtja e informacionit nĂ« formĂ« tĂ« kompresuar pĂ«r çdo FS). MbĂ«shtetet pĂ«rdorimi i dm-vdo pĂ«r ruajtje fizike me madhĂ«si deri nĂ« 256TB, dhe krijimi i volumeve logjikĂ« me madhĂ«si deri nĂ« 4PB. PĂ«r menaxhimin e ndarjeve vdo rekomandohet pĂ«rdorimi i lvm. Teknologjia VDO Ă«shtĂ« zhvilluar nga kompania Permabit dhe Ă«shtĂ« hapur pas blerjes sĂ« saj nga Red Hat nĂ« vitin 2017.
    • NĂ« nĂ«ndĂ«rfaqen FUSE, e cila pĂ«rdoret pĂ«r realizimin e sistemeve tĂ« skedarĂ«ve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, Ă«shtĂ« shtuar njĂ« implementim fillestar i modit „passthrough”, i cili lejon marrjen e tĂ« dhĂ«nave tĂ« skedarĂ«ve direkt nĂ« nivelin e bĂ«rthamĂ«s, duke anashkaluar procesin qĂ« punon nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, çka nĂ« disa raste rrit ndjeshĂ«m performancĂ«n. PĂ«r shembull, implementimet FUSE tĂ« sistemeve tĂ« skedarĂ«ve, qĂ« funksionojnĂ« nĂ« modin vetĂ«m pĂ«r lexim dhe kufizojnĂ« aksesin nĂ« skedarĂ«, mund tĂ« ofrojnĂ« pĂ«rmbajtjen e skedarĂ«ve nga sistemi origjinal i skedarĂ«ve pa i transmetuar ato nĂ« procesin FUSE.
    • Draiveri me implementimin e sistemit tĂ« skedarĂ«ve Ext2 Ă«shtĂ« transferuar nĂ« kategorinĂ« e tĂ« vjetruarve (deprecated). Si shkak pĂ«r kĂ«tĂ« pĂ«rmendet se draiveri mbĂ«shtet vetĂ«m numrat e kohĂ«s 32-bit nĂ« inode, tĂ« cilĂ«t do tĂ« mbushen mĂ« 19 janar 2038. NĂ« vend tĂ« draiverit ext2, sugjerohet pĂ«rdorimi i draiverit ext4, i cili mbĂ«shtet punĂ«n me sistemin e skedarĂ«ve Ext2 dhe Ă«shtĂ« plotĂ«sisht kompatibil me tĂ«, por qĂ« gjithashtu mund tĂ« pĂ«rdorĂ« stamps, tĂ« pa prekura nga problemi i vitit 2038, nĂ«se FS Ă«shtĂ« krijuar me inode qĂ« kanĂ« njĂ« madhĂ«si mĂ« tĂ« madhe se 255 byte (nĂ« draiverin ext2, numrat 32-bit tĂ« kohĂ«s pĂ«rdoren pavarĂ«sisht nga madhĂ«sia e inode).
    • Draiveri i vjetĂ«r i sistemit tĂ« skedarĂ«ve NTFS Ă«shtĂ« fshirĂ«, dhe nga versioni 5.15 e tutje, ka ardhur njĂ« draiver i ri NTFS3. Prandaj, ofrimi nĂ« bĂ«rthamĂ« i dy draiverĂ«ve me implementimin e NTFS Ă«shtĂ« konsideruar i papĂ«rshtatshĂ«m, duke marrĂ« parasysh se draiveri i vjetĂ«r nuk Ă«shtĂ« pĂ«rditĂ«suar pĂ«r shumĂ« vite, ndodhet nĂ« njĂ« gjendje tĂ« keqe dhe mund tĂ« funksionojĂ« vetĂ«m nĂ« modin e leximit.
    • NĂ« sistemet e skedarĂ«ve zonefs dhe hugetlbfs Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r mapimin e identifikuesve tĂ« pĂ«rdoruesve tĂ« sistemeve tĂ« skedarĂ«ve tĂ« montuar, qĂ« pĂ«rdoret pĂ«r tĂ« pĂ«rputhur 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, administratorĂ«t kanĂ« mundĂ«sinĂ« tĂ« pastrojnĂ« gjendjet e hapjes dhe bllokimit tĂ« skedarĂ«ve.
    • PĂ«r sistemin e skedarĂ«ve Ext4, janĂ« shĂ«nuar vetĂ«m rregullime tĂ« defekteve dhe pĂ«rditĂ«sime tĂ« testeve kunit.
    • NĂ« Btrfs Ă«shtĂ« vazhduar pĂ«rkthimi i funksioneve nĂ« pĂ«rdorimin e folio-ve tĂ« faqeve tĂ« memories (page folios).
    • NĂ« sistemin e skedarĂ«ve XFS, Ă«shtĂ« vazhduar puna pĂ«r realizimin e mundĂ«sisĂ« sĂ« pĂ«rdorimit tĂ« utilitarit fsck pĂ«r kontrollin dhe korrigjimin e problemeve tĂ« identifikuara nĂ« mĂ«nyrĂ«n online, pa e shkĂ«putur sistemin e skedarĂ«ve.
    • NĂ« thirrjen sistemike pwritev2() Ă«shtĂ« shtuar flag RWF_NOAPPEND, i cili lejon specifikimin e pozicionit pĂ«r shkrimin, edhe nĂ«se skedari Ă«shtĂ« hapur nĂ« modin e vetĂ«m tĂ« shtimit tĂ« tĂ« dhĂ«nave nĂ« fund tĂ« skedarit.
    • Shtohen komandat e reja ioctl: FS_IOC_GETUUID - kthen identifikuesin UUID tĂ« sistemit tĂ« skedimeve tĂ« specifikuar, dhe FS_IOC_GETFSSYSFSPATH - pĂ«rcakton vendndodhjen nĂ« /sys/fs tĂ« sistemit tĂ« skedimeve tĂ« montuar.
    • Sistemet e skedimeve efs, qnx4 dhe coda janĂ« pĂ«rditĂ«suar pĂ«r tĂ« pĂ«rdorur API-nĂ« e re pĂ«r montimin e seksioneve.
    • ËshtĂ« pĂ«rmirĂ«suar implementimi i operacioneve me skedat qĂ« kryhen pa marrĂ« parasysh regjistrin e simboleve. Performanca Ă«shtĂ« rritur duke filluar me krahasimin me regjistrin dhe duke u rikthyer nĂ« kĂ«rkimin pa marr parasysh regjistrin. JanĂ« zgjidhur problemet kur montoni overlayfs mbi direktori, pĂ«r tĂ« cilat Ă«shtĂ« vendosur regjimi pa marrĂ« parasysh regjistrin e simboleve.
  • Memorie dhe shĂ«rbime sistemike
    • ËshtĂ« realizuar mbĂ«shtetje pĂ«r mekanizmin Intel FRED (Flexible Return and Event Delivery), i krijuar pĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin dhe besueshmĂ«rinĂ« e dorĂ«zimit tĂ« informacionit pĂ«r ngjarjet me nivel tĂ« ulĂ«t, krahasuar me mekanizmin e tanishĂ«m IDT (Interrupt Descriptor Table). Rritja e performancĂ«s dhe reduktimi i vonesave sigurohet me kthimin e ngjarjeve nga instruksioni i procesorit IRET nĂ« vend tĂ« transmetimit tĂ« ngjarjeve pĂ«rmes tabelĂ«s IDT. BesueshmĂ«ria pĂ«rmirĂ«sohet pĂ«r shkak tĂ« pĂ«rpunimit tĂ« veçantĂ« tĂ« ardhjes sĂ« ngjarjeve nĂ« kontekstin e bĂ«rthamĂ«s dhe kontekstin e pĂ«rdoruesit, mbrojtjes nga ekzekutimi i ngjizur NMI dhe ruajtjes nĂ« kornizĂ«n e zgjeruar tĂ« grumbullit tĂ« tĂ« gjitha regjistrave tĂ« lidhur me pĂ«rjashtimin e CPU.
    • ËshtĂ« shtuar mundĂ«sia e optimizimit tĂ« qasjes nĂ« tĂ« dhĂ«nat e bĂ«rthamave tĂ« veçanta tĂ« CPU-sĂ« 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 nĂ« formĂ«n e njĂ« zgjerimi GNU C.
    • NĂ« funksionin pidfd_open() Ă«shtĂ« shtuar flagu PIDFD_THREAD, qĂ« lejon krijimin e pidfd pĂ«r bĂ«rthama tĂ« 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Ă« FS pseudo pĂ«r qasjen nĂ« pidfd pĂ«rmes sistemit virtual tĂ« skedave. NĂ« dallim nga identifikimi i proceseve pĂ«rmes pid, identifikuesi pidfd lidhet me njĂ« proces tĂ« caktuar dhe nuk ndryshon, ndĂ«rsa PID pas pĂ«rfundimit tĂ« procesit aktual mund tĂ« lidhet me njĂ« proces tjetĂ«r.
    • NĂ« nĂ«nsistemin BPF Ă«shtĂ« shtuar mekanizmi i BPF-tokens, qĂ« lejon delegimin selektiv tĂ« tĂ« drejtave tĂ« qasjes nĂ« operacione tĂ« privilegjuara BPF pĂ«r programet, pĂ«r shembull, mund tĂ« ofrohet qasja pĂ«r njĂ« aplikacion tĂ« paprivilgjuar nĂ« nĂ«nsisteme tĂ« veçanta BPF pa i dhĂ«nĂ« tĂ« gjitha tĂ« drejtat CAP_BPF.
    • NjĂ« lloj i ri memorjeje tĂ« pĂ«rbashkĂ«t bpf_arena Ă«shtĂ« shtuar nĂ« nĂ«n-sistemin BPF, i cili pĂ«rcakton njĂ« zonĂ« tĂ« aksesueshme pĂ«r ndarjen pĂ«r programet BPF dhe proceset nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Shtuar instruksioni may_goto, qĂ« lejon organizimin e punĂ«s sĂ« cikleve, tĂ« cilat mund tĂ« ndĂ«rpriten nga verifikuesi. Shtuar mundĂ«sia pĂ«r tĂ« gjeneruar nga programet BPF cookie TCP SYN dhe pĂ«r tĂ« krijuar BPF-handler pĂ«r tĂ« luftuar me fillimet SYN.
    • Transferimi i ndryshimeve nga dega Rust-for-Linux vazhdon, nĂ« lidhje me pĂ«rdorimin e gjuhĂ«s Rust si njĂ« gjuhĂ« tĂ« dytĂ« pĂ«r zhvillimin e shoferĂ«ve dhe moduleve tĂ« bĂ«rthamĂ«s (mbĂ«shtetje pĂ«r Rust nuk Ă«shtĂ« aktive si parazgjedhje dhe nuk çon nĂ« pĂ«rfshirjen e Rust si njĂ« varĂ«si ndihmĂ«se tĂ« detyrueshme pĂ«r bĂ«rthamĂ«n). Shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e gjuhĂ«s Rust nĂ« procesorĂ«t ARM 64-bit. Kalimi nĂ« versionin mĂ« tĂ« fundit Rust 1.76 Ă«shtĂ« realizuar. Shtuar makroja ‘container_of!’. NĂ« vend tĂ« funksionalitetit tĂ« paqĂ«ndrueshĂ«m ‘ptr_metadata’, Ă«shtĂ« pĂ«rdorur metoda e qĂ«ndrueshme ‘byte_sub’. Shtuar moduli ‘time’ me funksionin e konvertimit tĂ« kohĂ«s ‘msecs_to_jiffies()’.
    • NĂ« nĂ«n-sistemin io_uring Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« prishur skedarĂ«t (ftruncate_file).
    • Shtuar njĂ« lloj i ri i radhĂ«ve tĂ« punĂ«s WQ_BH (workqueue Bottom Halves) pĂ«r tĂ« ekzekutuar nĂ« mĂ«nyrĂ« asinkrone kodin nĂ« kontekstin e ndĂ«rprerjeve programore, i dedikuar pĂ«r pĂ«rdorim nĂ« vend tĂ« tasklet-eve tĂ« vjetruara.
    • NĂ«n-sistemi i punĂ«s me timer Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m, ku logjika pĂ«rzgjedhjes sĂ« bĂ«rthamĂ«s aktive tĂ« CPU pĂ«r tĂ« realizuar timer-in e aktivizuar Ă«shtĂ« pĂ«rmirĂ«suar pĂ«r tĂ« mos nxjerrĂ« nga gjumi bĂ«rthamat e paaktivizuara.
    • MundĂ«sia pĂ«r tĂ« pĂ«rditĂ«suar modelin e konsumit tĂ« energjisĂ« sĂ« bĂ«rthamĂ«s (EM, Energy Model) gjatĂ« punĂ«s Ă«shtĂ« realizuar, 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. Performanca e funksionit em_cpu_energy() Ă«shtĂ« rritur ndjeshĂ«m, i cili tani ekzekutohet mĂ« shpejt 1.43 herĂ« nĂ« testet nĂ« sistemin stacionar, dhe 1.69 herĂ« nĂ« testin nĂ« bordin RockPi 4B.
    • Shtuar mbĂ«shtetje pĂ«r nisjen e sistemeve tĂ« bazuara nĂ« arkitekturĂ«n ARM64 nĂ« modalitetin LPA2 me njĂ« hapĂ«sirĂ« adresash virtuale 52-bit.
    • PĂ«r sistemet ARM64 Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r shĂ«nimet e vazhdueshme PTE (Page Table Entry), duke lejuar rritjen e performancĂ«s pĂ«rmes pĂ«rmirĂ«simit tĂ« efikasitetit tĂ« pĂ«rdorimit tĂ« TLB (Translation Lookaside Buffer).
    • Patch-e tĂ« pranuara pĂ«r tĂ« rritur performancĂ«n e nĂ«n-sistemit tĂ« menaxhimit tĂ« memories duke reduktuar shfaqjen e bllokimeve konkurruese nĂ« vmalloc().
    • PĂ«r arkitekturĂ«n LoongArch Ă«shtĂ« realizuar njĂ« mekanizĂ«m i nxehtĂ« pĂ«r vendosjen e patch-eve nĂ« bĂ«rthamĂ« (live patching), i cili lejon aplikimin e rregullimeve nĂ« bĂ«rthamĂ« pa e riparuese atĂ«.
    • PĂ«r sistemet RISC-V Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r thirrjen e sistemit membarrier(), e cila siguron vendosjen e barrierave tĂ« memories pĂ«r planet 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 pĂ«r ndĂ«rtimin kĂ«rkohet tĂ« paktĂ«n versioni LLVM 13.0.1 (mĂ« parĂ« mbĂ«shtetej ndĂ«rtimi nĂ« LLVM 11+).
    • NĂ« mekanizmin "User trace events", qĂ« lejon krijimin e ngjarjeve tĂ« gjurmimit nga proceset pĂ«rdorues pĂ«r tĂ« ndjekur aktivitetet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r eksportimin e informacionit tĂ« ngjarjeve 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Ă« jenĂ« nĂ« pĂ«rputhje me argumentet e pĂ«rdorura gjatĂ« thirrjes sĂ« funksionit.
    • NĂ« utilitarin perf Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r modalitetin e agregimit tĂ« daljes "cluster" ("perf stat -a --per-cluster") pĂ«r bashkimin e statistikave tĂ« burimeve tĂ« ndara. ËshtĂ« realizuar mundĂ«sia e angazhimit tĂ« bibliotekĂ«s libcapstone pĂ«r disasemblimin e instrukcioneve tĂ« procesorit ("perf script -F disasm"). JanĂ« kryer optimizime tĂ« konsumit tĂ« memories gjatĂ« ekzekutimit tĂ« komandave perf report dhe perf annotate.
  • Virtualizimi dhe siguria
    • ËshtĂ« shtuar mbrojtja nga dobĂ«sia RFDS (Register File Data Sampling) nĂ« procesorĂ«t Intel Atom, qĂ« lejon nxjerrjen e informacionit tĂ« mbetur nga skedarĂ«t regjistrues (RF, Register File) tĂ« procesorit, qĂ« pĂ«rdoren pĂ«r ruajtjen e pĂ«rmbajtjes sĂ« regjistrave nĂ« tĂ« gjitha detyrat nĂ« tĂ« njĂ«jtin bĂ«rthamĂ« CPU. PĂ«r tĂ« bllokuar dobĂ«sinĂ« kĂ«rkohet pĂ«rditĂ«simi i mikro-kodit dhe pĂ«rdorimi i instruksionit VERW pĂ«r pastrimin e pĂ«rmbajtjes sĂ« buferĂ«ve mikroarkitektonikĂ« 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 dobĂ«sisĂ« 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."
    • Shto u shtua mbĂ«shtetje themelore pĂ«r mbrojtjen e sistemeve mysafirĂ« pĂ«rmes zgjerimit AMD SEV-SNP (Secure Nested Paging), i cili siguron njĂ« funksionim tĂ« sigurt me tabelat e brendshme tĂ« faqeve tĂ« memories dhe mbron nga sulmet ‘undeSErVed’ dhe ‘SEVerity’ nĂ« procesorĂ«t AMD EPYC, tĂ« cilĂ«t lejojnĂ« kalimin e mekanizmit tĂ« mbrojtjes AMD SEV (Secure Encrypted Virtualization). KVM Ndryshimet e nevojshme pĂ«r pĂ«rdorimin e SNP planifikohen tĂ« shtohen nĂ« degĂ«n 6.10.
    • Modulet qĂ« zbatojnĂ« teknologjitĂ« IMA (Integrity Measurement Architecture) dhe EVM (Extended Verification Module) janĂ« pĂ«rshtatur pĂ«r tĂ« pĂ«rdorur kuadrin LSM (Linux Security Modules), i cili pa humbur funksionalitetin ka lehtĂ«suar ndjeshĂ«m kodin, ka bashkuar funksionalitetin e pĂ«rsĂ«ritur dhe ka angazhuar mundĂ«sitĂ« modelore tĂ« disponueshme pĂ«rmes LSM. Moduli IMA Ă«shtĂ« projektuar pĂ«r tĂ« verifikuar integritetin e komponenteve tĂ« sistemit operativ pĂ«rmes nĂ«nshkrimeve digjitale dhe hash-eve. Moduli EVM lejon mbrojtjen e atributeve tĂ« zgjeruara tĂ« skedarĂ«ve (xattrs) nga sulmet qĂ« synojnĂ« tĂ« dĂ«mtojnĂ« integritetin e tyre (EVM nuk do tĂ« lejojĂ« kryerjen e njĂ« sulmi offline, ku njĂ« sulmues mund tĂ« modifikojĂ« metadatat, pĂ«r shembull, duke u ngarkuar nga pajisja e tij).
    • Sistemet e thirrjeve lsm_list_modules(), lsm_get_self_attr() dhe lsm_set_self_attr() janĂ« ristrukturuar pĂ«r njĂ« pĂ«rputhshmĂ«ri mĂ« tĂ« madhe me ambientet 32-bit, tĂ« cilat janĂ« tĂ« destinuara pĂ«r tĂ« shfaqur listĂ«n e moduleve tĂ« LSM tĂ« ngarkuara (Linux Security Modules) dhe pĂ«r tĂ« marrĂ«/ajustuar atributet e modulit tĂ« LSM. Ky ndryshim shkel pĂ«rputhshmĂ«rinĂ« prapa, por pasi thirrjet e reja janĂ« shtuar nĂ« lĂ«shimin e fundit tĂ« bĂ«rthamĂ«s dhe pĂ«r momentin nuk pĂ«rdoren nĂ« aplikacione, Linus Torvalds e konsideroi kĂ«tĂ« ndryshim tĂ« pranueshĂ«m.
    • U pĂ«rmend njĂ« pĂ«rpjekje pĂ«r tĂ« rinisur pĂ«rdorimin e mekanizmit UBSAN (Undefined Behavior Sanitizer). Problemi Ă«shtĂ« se kompjuterĂ«t trajtojnĂ« ndryshe mbipĂ«rshkrimet pĂ«r tipet e numrave tĂ« nĂ«nshkruar dhe tĂ« paantĂ«. MbipĂ«rshkrimet e nĂ«nshkruara dhe ata tĂ« treguesve pĂ«rfshihen nĂ« kategorinĂ« e sjelljes sĂ« pacaktuar, ndĂ«rsa mbipĂ«rshkrimet e paantĂ« mbyllen modulu 2n duke ruajtur vetĂ«m bitĂ«t mĂ« tĂ« ulĂ«t tĂ« rezultatit (“wrap-around”) dhe nuk bien nĂ«n sjellje tĂ« pacaktuar. PĂ«r tĂ« shmangur situatat qĂ« shkaktojnĂ« sjellje tĂ« pacaktuar, bĂ«rthama kompilohet me opsionin “-fno-strict-overflow”, i cili çon nĂ« pĂ«rdorimin e “wrap-around” pĂ«r tĂ« gjitha mbipĂ«rshkrimet e numrave tĂ«rĂ«. GCC dhe Clang nuk mund tĂ« diagnostikojnĂ« siç duhet disa probleme kur pĂ«rdoret flagu “-fno-strict-overflow” dhe pĂ«rfshirja e UBSAN synon tĂ« kryejĂ« njĂ« punĂ« tĂ« pĂ«rbashkĂ«t me zhvilluesit e kompjilatorĂ«ve pĂ«r tĂ« eliminuar veçoritĂ« e rreme dhe pĂ«r tĂ« zbuluar mbipĂ«rshkrimet e numrave nĂ« vende ku nuk ka kontroll tĂ« qartĂ«.

      Për të kontrolluar mbipërshkrimet e mundshme në bërthamë, përdoren konstruksione të tilla si "var + offset PAGE_SHIFT) < pgoff) {..}"), të cilat varen nga kompilimi me flagun "-fno-strict-overflow" dhe nuk mbulon tërë kodin ku potencialisht mund të ndodhë mbipërshkrimi. Problemi është se, me përdorimin e UBSAN, këto kontrole shkaktonin një numër të madh paralajmërimesh të rreme, dhe për këtë arsye, në vitin 2021, UBSAN duhej të çaktivizohej. Në aplikimin e përmirësuar, propozohet përdorimi i annotimeve speciale __signed_wrap dhe __unsigned_wrap, si dhe makros të gatshme me kontrollet add_would_overflow(a, b) dhe add_wrap(a, b), të cilat ndihmojnë në ndarjen e mbipërshkrimeve të parashikuara nga zhvilluesit nga ato të rastësishme që mund të çojnë në vulnerabilitete. Propozimi për një ripunim më të gjerë të bërthamës me hyrje të regjistrimeve të reja u hodh poshtë nga Linus Torvalds.

  • Sistemi rrjetor
    • NĂ« sistemin e rrjetit Ă«shtĂ« bĂ«rĂ« punĂ« pĂ«r tĂ« ulur shfaqjen e bllokimeve konkurruese ("lock contention", pĂ«rpjekje pĂ«r tĂ« marrĂ« njĂ« bllokim tĂ« mbajtur nga njĂ« thread tjetĂ«r). ËshtĂ« reduktuar pĂ«rdorimi i bllokimeve RTNL.
    • Shtesa e mbĂ«shtetjes sĂ« polling aktiv tĂ« soketĂ«ve (busy polling) nĂ« kontekstin e thirrjeve tĂ« veçanta epoll. MadhĂ«sia e rezervuarit dhe parametrat e buxhetit mund tĂ« vendosen ndaras nga parametrat sistemikĂ« tĂ« zakonshĂ«m.
    • Struktura net_hotdata Ă«shtĂ« realizuar pĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin e caching tĂ« variablave mĂ« tĂ« pĂ«rdorur nĂ« konfigurimin e rrjetit.
    • NĂ« MPTCP Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r vendosjen e opsionit TCP_NOTSENT_LOWAT pĂ«r soketĂ«t, duke lejuar kufizimin e madhĂ«sisĂ« sĂ« buffers sĂ« dĂ«rgimit. NĂ« API pĂ«r soketĂ«t MCTP Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r identifikatorĂ«t e rrjetit ('network ID'), tĂ« cilĂ«t lejojnĂ« pĂ«rdorimin e disa rrjeteve MCTP qĂ« nuk ndĂ«rhyjnĂ« njĂ«ra me tjetrĂ«n nĂ« njĂ« host tĂ« vetĂ«m.
    • NĂ« IPSec Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ridrejtimin e mesazheve ICMP me informacione pĂ«r gabimet (RFC 4301).
    • Procesi i skanimit tĂ« rrugĂ«ve me jetĂ«gjatĂ«si tĂ« skaduar Ă«shtĂ« pĂ«rshpejtuar.
    • Puna e XDP Ă«shtĂ« pĂ«rshpejtuar falĂ« shmangies mĂ« tĂ« fortĂ« tĂ« alokimit tĂ« blloqeve tĂ« mĂ«dha tĂ« memories.
    • ËshtĂ« shtuar mundĂ«sia e bashkĂ«ngjitjes sĂ« metadata-s nĂ« mesazhet netconsole.
    • NĂ« Netfilter Ă«shtĂ« lejuar definimi nga hapĂ«sira e pĂ«rdoruesit tĂ« tabelave, tĂ« cilat lidhen me procesin administrativ dhe nuk fshihen automatikisht pas pĂ«rfundimit tĂ« aplikacionit tĂ« pĂ«rdoruesit.
    • NĂ« nftables Ă«shtĂ« pĂ«rshpejtuar shtimi i elementeve nĂ« set-tĂ« me intervale tĂ« bashkuara.
  • Pajisje
    • NĂ« drejtuesin i915, Ă«shtĂ« vazhduar puna pĂ«r realizimin e mbĂ«shtetjes pĂ«r çipet Intel LunarLake (Xe 2). JanĂ« shtuar identifikatorĂ« tĂ« rinj PCI pĂ«r pajisjet qĂ« bazohen nĂ« çipet Intel Arrow Lake dhe Alder Lake N. PĂ«r Displayport Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r tunneling (DP tunneling) dhe alokimin e bandwidth-it. PĂ«r tĂ« gjitha platformat Ă«shtĂ« pĂ«rfshirĂ« regjimi fastboot. ËshtĂ« shtuar mbĂ«shtetje pĂ«r output-in diagnostikues nĂ« lidhje me pajisje tĂ« veçanta.
    • NĂ« drejtuesin AMDGPU Ă«shtĂ« realizuar pĂ«rgatitja pĂ«r mbĂ«shtetje pĂ«r GPU AMD RDNA3.5 dhe RDNA4. JanĂ« 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 kuadri RAS ACA. NĂ« modulin e bĂ«rthames Ă«shtĂ« shtuar parameteri freesync_video pĂ«r aktivizimin e mbĂ«shtetjes eksperimentale pĂ«r optimizimin e kalimit tĂ« regjimeve video duke pĂ«rdorur teknologjinĂ« e sinkronizimit adaptiv FreeSync.
    • NĂ« drejtuesin Nouveau, kodi i menaxhimit tĂ« ekranit Ă«shtĂ« transferuar nĂ« pĂ«rdorimin e funksionit kmemdup().
    • E pavijuar puna mbi drejtuesin DRM (Direct Rendering Manager) 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.
    • Shtuar drejtuesi DRM pĂ«r çipat Mediatek MT8188 VDOSYS1.
    • CilĂ«simet e lidhura me nĂ«n-sistemet e videos 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 dhe pajisjet ARM: telefonat Android qĂ« funksionojnĂ« me çipin Tegra30, modelet Chromebook qĂ« funksionojnĂ« me Mediatek MT8186, NAS, tabletĂ« dhe konsola lojrash qĂ« funksionojnĂ« me Rockchips RK35xx, pllaka White Hawk qĂ« pĂ«rdorin SoC Renesas, pllaka qĂ« pĂ«rdorin Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.
    • Kryer refaktorizimi i kodit tĂ« nĂ«n-sistemit tĂ« tingujve ALSA. Shtuar mbĂ«shtetje pĂ«r sistemet e tingujve Microchip SAM9x7, NXP i.MX95 dhe Qualcomm WCD939x. NĂ« drejtuesin SoundWire Ă«shtĂ« shtuar mbĂ«shtetje ASoC me procesorĂ«t e tingullit AMD ACP 6.3, dhe pĂ«r sistemet Intel Ă«shtĂ« mbĂ«shtetur moda DSPless. Shtuar mbĂ«shtetje pĂ«r kodekĂ«t e tingullit Cirrus HD. NĂ« drejtuesin virtio Ă«shtĂ« pĂ«rmirĂ«suar menaxhimi i pajisjeve audio.
    • Shtuar mbĂ«shtetje pĂ«r kontrollorĂ«t Ethernet Marvell Octeon PCI Endpoint NIC VF dhe Intel E825-C 100G.

NjĂ«kohĂ«sisht, Fondi Latino-amerikan i Softuerit tĂ« LirĂ« formoi njĂ« version plotĂ«sisht tĂ« lirĂ« tĂ« kernelit 6.9 — Linux-libre 6.9-gnu, i pastĂ«r nga elementet e firmware dhe drejtuesve qĂ« pĂ«rmbajnĂ« komponentĂ« tĂ« pa-lirĂ« ose pjesĂ« kodi, aplikimi i tĂ« cilave Ă«shtĂ« i kufizuar nga prodhuesi. NĂ« versionin 6.9 Ă«shtĂ« pĂ«rditĂ«suar kodi i pastrimit tĂ« blobave nĂ« drejtuesit amdgpu, ath12k, adreno, btusb dhe r8169. ËshtĂ« kryer pastrimi i drejtuesit tĂ« ri ptp_fc3. ËshtĂ« kryer pastrimi i emrave tĂ« blobave nĂ« skedarĂ«t dts (devicetree) pĂ«r arkitekturĂ«n Aarch64. JanĂ« eliminuar problemet me pastrimin e drejtuesit i915, qĂ« shkaktonin bllokim gjatĂ« inicializimit. JanĂ« bĂ«rĂ« ndryshime qĂ« i pĂ«rkasin trajtimit tĂ« blobave, tĂ« ofruara nĂ« formĂ«n e dump-eve hex.

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