Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds lanseringen av Linux-kÀrnan 6.19. Bland de mest framtrÀdande förÀndringarna: Live Update Orchestrator-systemet, stöd för PCIe Link Encryption, systemanropet listns, Zero-Copy Receive-lÀget i io_uring, stöd för ARM-tillÀgget MPAM, klp-build för att generera livpatcher, stöd för LoongArch32-arkitekturen, QoS för s2idle, optimering av auditsystemet, Intel LASS för att skydda mot Spectre, stöd för hash-algoritmerna SHA-3 och BLAKE2b, Confidential VMBus-mekanismen, TX-optimeringar i nÀtverksystemet, CAN XL-protokollet, API för hÄrdvaruaccelererad HDR-utmatning.
I tillkÀnnagivandet av den nya versionen meddelade Linus att nÀsta utgÄva av kÀrnan kommer att fÄ nummer 7.0, eftersom det har samlats tillrÀckligt med utgÄvor i 6.x-grenen för att byta det första numret i versionsnumret (den första versionen 6.0 skapades strax efter 5.19). Bytet av numrering sker av estetiska skÀl och Àr ett formellt steg för att avlÀgsna obehag över det stora antalet utgÄvor i serien. Linus skÀmtade om att stora siffror förvirrar honom, eftersom han inte har tillrÀckligt med fingrar pÄ hÀnder och fötter. Samtidigt finns det formellt en anledning för en betydande Àndring av versionsnumret, eftersom stödet för Rust, som börjar med nÀsta version, har beslutats att överföras frÄn experimentella funktioner till kÀrnans huvudfunktioner.
Den nya versionen omfattar 15657 korrigeringar frÄn 2237 utvecklare, patchstorleken Àr 52 MB (Àndringarna har pÄverkat 13682 filer, 794649 rader kod har lagts till, 335498 rader har tagits bort). I den föregÄende versionen fanns 15035 korrigeringar frÄn 2217 utvecklare, patchstorleken var 45 MB. Cirka 40 % av alla förÀndringar i 6.19 relaterar till hÄrdvarudrivrutiner, cirka 13 % av förÀndringarna Àr relaterade till uppdatering av kod specifik för hÄrdvaruarkitekturer, 12 % pÄverkar nÀtverksstacken, 5 % handlar om filsystem och 3 % om interna subsystem i kÀrnan.
De viktigaste nyheterna i kÀrnan 6.19 (1, 2, 3):
- Disksubsystem, in- och utmatning och filsystem
- I Btrfs blockerar inte lÀngre FS-kontrollprocesserna (scrub) och enhetsbyte systemets övergÄng till vilolÀge (vid vilolÀge sparas status för scrub-kontrollen; efter att systemet vaknat fortsÀtter scrub-kontrollen och enhetsbytesoperationen startas om). Stödet för blockstorlekar som överstiger minnespage-storleken har lagts till implementeringen av RAID56. Förberedelser för stöd för fscrypt har genomförts. Prestandan har förbÀttrats vid operationer relaterade till utrymmesreserv. Stödet för ioctl-operationen "shutdown" har lagts till, vilket gör att FS kan övergÄ till ett tillstÄnd dÀr försök görs att avsluta redan pÄgÄende operationer, men dÀr alla nya operationer blockeras.
- I filsystemet Ext4 har stöd för blockstorlekar som överstiger minnespage-storleken (>4KB pÄ x86-system) införts. AnvÀndningen av stora block möjliggör en förbÀttring av prestandan för buffrade skrivoperationer med i genomsnitt 50%, men minskar prestandan för direkt I/O pÄ grund av ökad tid för kontrollsummeberÀkning. Den nya versionen inkluderar ocksÄ optimeringar som ökar genomströmningen vid online-defragmentering.
- I FUSE-subsystemet har stödet för buffrat lÀsande med stora minnesfollan (large folios) förbÀttrats. Genom iomap har möjligheten att spÄra delvis aktuella follan implementerats för att bara ladda data som saknas i bufferten.
- I VFS har stöd för Äterkallbar katalogdelegering (recallable directory delegation) lagts till, vilket möjliggör överföring av katalogkontroll frÄn servern klienten, sÄ att NFS-klienten kan spÄra tillstÄndet för katalogen baserat pÄ lokal cache utan kontakter med NFS-servern. Om en annan NFS-klient gör Àndringar relaterade till denna katalog, kommer delegationen att Äterkallas frÄn den första klienten.
- För NFS har stöd för lÀsning i direkt I/O-lÀge lagts till. InstÀllningarna /sys/kernel/debug/nfsd/io_cache_read och /sys/kernel/debug/nfsd/io_cache_write har implementerats för att hantera aktiveringen av caching och direkt I/O-operationer, vilket möjliggör manövrera med dessa instÀllningar för att minska overheaden pÄ NFS-klientsidan vid stora in- och utmatningsoperationer.
- I NTFS har stöd för ioctl-operationen shutdown implementerats, standardalternativen för montering "acl" och "prealloc" har aktiverats, och stöd har lagts till för tid före den 1 januari 1970.
- För blockenheter och filsystem har separerat caching för varje CPU av objekten "bio" (Block I/O), som definierar aktiva in- och utmatningsoperationer, aktiverats som standard.
- Minne och systemtjÀnster
- KÀrnan har fÄtt subsystemet Live Update Orchestrator (LUO), som möjliggör fullstÀndig omstart och uppdatering av kÀrnan utan att stoppa arbetet och utan att förlora systemets, enheternas och processernas tillstÄnd. LUO-subsystemet bygger pÄ den tidigare tillagda mekanismen KHO (Kexec HandOver) i kÀrnan och löser, utöver möjligheten att starta en ny kÀrna frÄn en gammal utan att förlora systemets tillstÄnd, sÄdana uppgifter som att spara tillstÄndet för enheter och RAM-minne samt att sÀkerstÀlla kontinuiteten i operationer relaterade till DMA och avbrottshantering. TillstÄndet sparas fram till vÀxlingen till den nya kÀrnan och ÄterstÀlls efter aktiveringen av den nya kÀrnan utan att störa kontinuerliga operationer med enheter som genomförs av systemet och applikationerna i anvÀndarrummet.
- Ett systemanrop listns() har lagts till för att visa en lista över existerande namnrymder i systemet utan behov av att gÄ igenom /proc//ns/ för varje process.
- I det asynkrona in- och utmatningssystemet io_uring har stöd för att placera element av olika storlekar i kö för inlÀmning (SQE, Submission Queue Entry) lagts till, i likhet med hur det i förra versionen tillÀts att blanda storlekar pÄ innehÄllet i resultatkön (CQE, Completion Queue Event). Tidigare var alla element i kön tvungna att ha samma storlek, vilket ledde till överdriven minnesanvÀndning pÄ grund av nödvÀndigheten att anvÀnda den maximala storleken för alla element i kön.
I io_uring har ocksÄ lagt till stöd för zcrx (Zero-Copy Receive) mekanismen för att ta emot data utan kopiering mellan kÀrnan och anvÀndarens utrymme. Stöd för minneslayoutfrÄgor för SQ (Submission Queue) och CQ (Completion Queue) har lagts till, vilket gör det möjligt att fÄ information om storleken pÄ ringbufferten, nödvÀndig vid anvÀndarallokering av minne med hjÀlp av flaggorna IORING_SETUP_NO_MMAP och IORING_MEM_REGION_TYPE_USER.
- För snabb spÄrning av stacken med hjÀlp av verktyg som perf har stöd för SFrame-formatet lagts till, med information om uppflÀtningsstacken (unwind). SFrame stöds redan i GCC och binutils, med minimal pÄverkan pÄ prestandan och, till skillnad frÄn DWARF-formatet, innehÄller endast den minimala uppsÀttning information som krÀvs för stackspÄrning.
- Stöd har lagts till i perf-verktyget för en enhetlig beskrivning av mÀtvÀrden och hÀndelser i JSON-format, samt för uppskjuten uppflÀtning (deferred unwinding) av stacken i anvÀndarens utrymme.
- För AMD-processorer har en mekanism för datainmatning i cachen implementerats, vilket gör att in- och utmatningsenheter kan sÀtta in data direkt i CPU:ns L3-cache utan att först placera dem i RAM.
- Stöd för MPAM (Memory System Resource Partitioning and Monitoring) har lagts till, en tillÀgg till ARMv8-A instruktionens arkitektur som gör det möjligt att mÀrka varje minnesÄtkomst med en sektionsidentifierare (PARTID, Partition ID) och en övervakningsgruppsidentifierare (PMG, Monitoring Group ID). I förhÄllande till PARTID kan resursanvÀndning som minnesbandbredd eller cachestorlek begrÀnsas sÄ att en uppsÀttning uppgifter inte tar all resurs. I övervakningssammanhang kan kombinationen av PMG och PARTID anvÀndas för att spÄra minnesresursanvÀndning under sÀrskilda typer av belastning.
- Vid en felaktig avslutning av en process efter att ha mottagit en signal kan en annan process, som har pidfd för den avslutade processen, nu avgöra vilket signalnummer som ledde till processens avslutning.
- Implementeringen av omstartbara sekvenser (restartable sequences) har omarbetats, vilket gör att applikationer kan organisera en pseudo-atomÀr oavbruten utförande av en grupp instruktioner (om en annan trÄd avbryter, görs ett nytt försök att utföra sekvensen). Den nya implementationen kÀnnetecknas av en mer hög prestanda.
- För BPF-program har instruktionerna BPF_JMP, BPF_X och BPF_JA implementerats för att utföra indirekta hopp till en viss position i övergÄngstabellen. Konceptet dynamiska pekare (dynptr) har lagts till, vilket gör det möjligt att lÀsa data frÄn strukturerade filer. Möjligheten att fÀsta flera byte med metadata till nÀtverkspaket har lagts till.
- Python-moduler som anvÀnds för att behandla dokumentation för kÀrnan har flyttats till en separat katalog tools/lib/python.
- Funktionen mempool_alloc_bulk() har lagts till för sÀker allokering av element frÄn minnespoolen för flera objekt pÄ en gÄng.
- Ăverföringen av Ă€ndringar frĂ„n Rust-for-Linux-grenen har fortsatt, relaterade till anvĂ€ndningen av Rust som ett andra sprĂ„k för utveckling av drivrutiner och kĂ€rnmoduler (Rust-stöd Ă€r inte aktiverat som standard och krĂ€ver inte att Rust ingĂ„r bland de obligatoriska byggberoendena för kĂ€rnan). I den nya versionen har biblioteket "syn" med en Rust-kodparser lagts in i kĂ€rnan, vilket förenklar skrivandet av avancerade makron. Möjligheterna för biblioteken kernel, pin-init och rbtree har utökats. Biblioteket 'num' med typ Integer för hantering av heltal har lagts till. Stödet för heltalsparametrar har lagts till i makrot "module!". Möjligheten att ange parametrar vid inlĂ€sning av kĂ€rnmoduler skrivna i Rust har implementerats. Abstraktioner för I2C- och PWM (Pulse Width Modulation) subsystemen har genomförts.
- Makrot "at_least" har lagts till (till exempel, "param[at_least 7]", som anger den minimi tillÄtna storleken pÄ arrayen som skickas till funktionen. Om en array med fÀrre element skickas till funktionen kommer kompilatorn att avge en varning.
- Ett skript kallat klp-build har lagts till för att generera kĂ€rnmoduler som gör Ă€ndringar i den körande kĂ€rnan (livepatch) baserat pĂ„ en patchfil. Ăndringar har gjorts i verktyget objtool för att möjliggöra skapande av live-patchar.
- I User-mode Linux (kör kÀrnan som en anvÀndarprocess) har ett begrÀnsat stöd för flertrÄdighet lagts till, men trÄdar inom en och samma process kan fortfarande inte köras samtidigt. Portningen av User-mode Linux till biblioteket nolibc har pÄbörjats.
- Stödet för arkitekturen LoongArch32 (LA32R, LA32S) har lagts till utöver LoongArch64.
- Möjligheten att stÀlla in QoS-grÀnser för processorers vÀckningsintensitet i energisparlÀge s2idle (Suspend-To-Idle) har lagts till, vilket fryser körningen av processer i anvÀndarrummet men hÄller vissa kÀrnhandlÀggare aktiva.
- Stöd för hantering av minnessidan för IOMMU (Input-Output Memory Management Unit) kontroller har lagts till, vilket utför översÀttning av virtuella adresser som Àr synliga för hÄrdvaran till fysiska adresser, med möjlighet att filtrera DMA-operationer baserat pÄ virtuella adresser samt begrÀnsa och isolera I/O-operationer.
- I hÀndelser av spÄrning av systemanrop har möjligheten att lÀsa buffertar frÄn anvÀndarutrymmet och inkludera deras innehÄll (till exempel filnamn) i resultaten av spÄrningen implementerats.
- Vaktminnessidor (guard page), dÀr Ätkomst orsakar ett undantag och en avbrott av processen (SIGSEGV), markeras nu med en speciell etikett i filen /proc/PID/smaps.
- Möjligheten att hantera stora minnessidor (transparent huge page) i privat minne för zonerade enheter har lagts till.
- I zram-enheten, som anvÀnds för komprimerad lagring av byteswapdatalagringsutrymme i minnet, har stöd för utsÀttning av flera 'bio' (Block I/O) strukturer i batchlÀge (writeback batching) implementerats.
- Typografin "Terminus 10Ă18" har lagts till, vilket förbĂ€ttrar lĂ€sbarheten av information frĂ„n konsolen pĂ„ bĂ€rbara skĂ€rmar med medelhög upplösning (1440Ă900).
- Arbetet i auditsubsystemet har optimerats betydligt â en halvering av overheadnoteringen noteras.
- Virtualisering och sÀkerhet
- Stöd har lagts till för den funktion som tillhandahĂ„lls av Intel-processorer för separation av linjĂ€rt adressutrymme (LASS, linear address-space separation), vilket möjliggör att hĂ„rdvaran separerar adresseringsomrĂ„den för anvĂ€ndarrummet och kĂ€rnan för att öka sĂ€kerheten. Adressutrymmet separeras baserat pĂ„ den mest signifikanta biten av adressen â hĂ€lften av adressutrymmet med den mest signifikanta biten satt anvĂ€nds för kĂ€rnan, medan den nedre delen anvĂ€nds för anvĂ€ndarrummet. I ett tidigt skede av instruktionernas utförande (före spekulativ utförande) genomförs en kontroll för att avgöra om anvĂ€ndarrummet har tillĂ„telse att komma Ă„t adresser med den mest signifikanta biten, och vice versa. Denna typ av separation gör det möjligt att blockera kĂ€rnminneslĂ€ckor till anvĂ€ndarrummet via sidokanaler Ă€ven vid spekulativ utförande av instruktioner, vilket ger möjlighet att anvĂ€nda LASS för att skydda mot angripare av typen Meltdown och Spectre, utan stora resurskostnader.
- En funktion för att aktivera sĂ€kerhetsförstĂ€rkande tillĂ€gg för PCI Express-bussen har lagts till â PCIe Link Encryption och PCIe Device Authentication, som gör det möjligt att bekrĂ€fta Ă€ktheten och kryptera kommunikationskanalen mellan PCIe-enheten och den virtuella maskinen, som skyddas genom Intel TDX (Trusted Domain Extensions) och AMD SEV-SNP (Secure Nested Paging). De implementerade teknologierna förhindrar att data i DMA-trafik fĂ„ngas, analyseras och manipuleras vid tillgĂ„ng till vĂ€rdsystemet eller andra enheter.
- Den inbyggda kryptografiska biblioteken har lagts till med stöd för algoritmerna SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 och BLAKE2b.
- För LSM-moduler (Linux Security Modules) och sÀrskilt för SELinux har möjligheten att spÄra skapandet av memfd-deskriptorer implementerats för att tillÀmpa sÀkerhetspolicyer pÄ relaterade objekt.
- I LSM-modulen IPE (Integrity Policy Enforcement), som definierar den generella integritetspolicyn för hela systemet, har stöd för flaggan AT_EXECVE_CHECK lagts till i funktionen execveat(), vilket inkluderar en integritetskontroll av skriptet innan det körs av en tolk.
- Primitiverna scoped_user_read_access(), scoped_user_write_access och scoped_user_rw_access() har lagts till för begrÀnsad tillgÄng till data i anvÀndarrummet med skydd mot spekulativa attacker.
- Stöd för Confidential VMBus-mekanismen har lagts till, som anvÀnds i HyperV-hypervisorn för att möjliggöra en skyddad interaktion mellan gÀstsystemet som körs i konfidentiellt lÀge (med minneskryptering och registerisolering baserat pÄ AMD SNP- och Intel TDX-teknologier) och paravisorn som ansvarar för Ätkomst till enheter som behandlar konfidentiella uppgifter.
- Möjligheten att överföra information om processer som har avbrutits (för att generera coredump) via pidfd-mekanismen har lagts till. PIDFD-identifieraren kopplas till en specifik process och Àndras inte, medan PID kan kopplas till en annan process efter att den aktuella processen har avslutats, som Àr kopplad till denna PID. AnvÀndningen av pidfd gör det möjligt att förhindra attacker som byter ut en avbruten suid-process mot en annan process och uppnÄ ett kapplÀget direkt efter att kÀrnan har börjat bearbeta avbrottet, men innan kontrollen av hanteraren i anvÀndarutrymmet av processparametrarna.
- NĂ€tverkssystemet
- NÀtverksunderstöd har optimerats för att förbÀttra effektiviteten i datatransmission (TX). Att avlÀgsna spin-lÄsningen frÄn funktionen __dev_queue_xmit() och istÀllet anvÀnda den lÄsfria strukturen llist har gjort det möjligt att fyrdubbla prestandan under hög belastning och dubbla paketutsÀndningsintensiteten vid minskad CPU-belastning.
- Möjligheten att inaktivera systemgrÀnser för minnesanvÀndning har lagts till för specifika nÀtverkssocketar (i sÄ fall kommer gemensamma minnesgrÀnser som anges för separata containrar att anvÀndas). För att hantera avstÀngning av begrÀnsningar föreslÄs sysctl net.core.bypass_prot_mem och flaggan SK_BPF_BYPASS_PROT_MEM i funktionen bpf_setsockopt.
- Stöd för RFC 5837-tillÀgget har lagts till, som lÀgger till information om inkommande nÀtverksgrÀnssnitt i ICMP-meddelanden "Time Exceeded" som returneras vid utgÄng av livstid (TTL) för paket, vilket ger mer detaljerad information vid spÄrning av rutter med traceroute-verktyget.
- Stöd för kontinuerlig aktiv polling (busy polling) i en separat kÀrntrÄd har lagts till för att extrahera deskriptorer frÄn RX/TX-köer för applikationer som krÀver minimala fördröjningar.
- Stöd för protokollet CAN XL (Controller Area Network eXtended Length) har lagts till, dÀr storleken pÄ datarutorna har ökat till 2048 byte för att möjliggöra integration med TCP/IP-nÀtverk, och möjligheten till tunneling av Ethernet-ramar har implementerats, och stöd för pulsbred-modulering har lagts till, vilket gör det möjligt att överföra data med hastigheter om 20 Mbit/s och högre.
- Stöd för strukturen sockaddr_unsized har lagts till, en variant av strukturen sockaddr som anvÀnder en array med flexibla element istÀllet för en array av fast storlek (sa_data[] istÀllet för sa_data[14], vilket i grunden anvÀndes för att referera till andra strukturer av större storlek).
- Möjligheten att anvÀnda funktionerna getsockname och getpeername genom io_uring-systemet har lagts till.
- Sysctl net.ipv4.tcp_rcvbuf_low_rtt och net.ipv4.tcp_comp_sack_rtt_percent har lagts till för att optimera TCP.
- Stöd för lÀnkar med en kapacitet pÄ 1600 Gbps (1.6T) har lagts till.
- Utrustning
- Ett API har lagts till i DRM-subsystemet (Direct Rendering Manager) för att utnyttja hÄrdvarufunktioner för fÀrgkonvertering, vilket gör att sÄdana konverteringar kan utföras utan att anvÀnda shaders eller köra kod pÄ CPU. För att visa innehÄll pÄ HDR-monitorer kan komplexa fÀrgkonverteringar nu utföras av displaykontrollen vid skedet innan och efter lagerblandning, istÀllet för programvarubaserad kompositing av innehÄllet i den slutliga visningsbufferten. Förutom att minska overhead och energiförbrukning vid HDR-Ätergivning, kan den föreslagna funktionen anvÀndas för korrekt fÀrgÄtergivning i videoredigerare eller bildredigerare.
- Drivern 'ethosu' för NPU Arm Ethos U65 och U85, avsedda för hÄrdvaruaccelerering av körning av AI-modeller, har lagts till.
- I i915-drivrutinen för GPU Lunar Lake och nyare har stöd för hÄrdvaruökning av bildskÀrpa (Sharpening) lagts till.
- Arbetet med drm-drivern (Direct Rendering Manager) Xe för GPU:er baserade pÄ Intel Xe-arkitekturen, som anvÀnds i Intel:s Arc-grafikkort och integrerad grafik med början frÄn Tiger Lake-processorerna, har fortsatt. Inledande stöd för Xe3P-arkitekturen, som anvÀnds i GPU Crescent Island och familjen av processorer med integrerad grafik Nova Lake, har lagts till.
- Drivrutinen AMDGPU har fullstÀndig support för AMD:s grafikkort i GCN-familjen 1.0 "Southern Island" och 1.1 "Sea Islands", som tidigare anvÀnde Radeon-drivrutinen. Drivrutinen AMDGPU har nÄtt paritet med Radeon-drivrutinen och aktiverats för de angivna GPU:erna som standard. GCN 1.x-kort producerades mellan 2012 och 2019 och omfattar modeller som Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790/8870 samt andra grafikkort frÄn Radeon Rx 200/Rx 300-familjerna. Förutom en genomsnittlig prestandaökning pÄ 24% har övergÄngen till AMDGPU möjliggjort stöd för grafiskt API Vulkan 1.3 för dessa GPU:er. Dessutom har stöd för analoga kontakter och Video Coding Engine 1.0 lagts till i AMDGPU, och DC-stacken (Display Core) har aktiverats som standard för GPU:er baserade pÄ mikroarkitekturen Bonaire (Radeon HD 7700).
- I drivrutinen Nouveau har stöd för hÄrdvaruacceleratorn NVJPG, som finns i SoC Tegra210, införts.
- I drivrutinen Panthor har stöd för GPU Mali-G1 lagts till samt grundlÀggande stöd för chippet MediaTek MT8196.
- Stöd för ljudsystemet i Intel Nova Lake S-chips, bÀrbara HP-datorer med HDA CS35L41, samt ljudgrÀnssnitten CIX IPBLOQ HD och Onkyo SE-300PCIE har tillkommit.
- Integrationen av komponenter i Nova-drivrutinen för NVIDIA GPU:er, som Àr utrustade med GSP-firmware som anvÀnds frÄn NVIDIA GeForce RTX 2000-serien baserad pÄ mikroarkitekturen Turing, har fortsatt. Drivrutinen Àr skriven i Rust. I den nya versionen har arbetet pÄ RPC inletts och implementeringen av GSP (GPU System Processor) har slutförts.
- Stöd för ARM-plattformar, SoC och enheter har lagts till: Bananapi r4 pro, LinkEase EasePi R1, Qualcomm MSM8937 (Snapdragon 430), Renesas R-Car X5H, FriendlyElec NanoPi R76S, TI AM62L, Black Sesame Technologies C1200, Aspeed AST2600, Genio 1200 EVK, grinn geniosbc-510/700, Tanix TX9 Pro, Radxa Dragon Q6A, Tinker Board 3/3S, Aquila AM69, phyBOARD-Segin-i.MX91, i.MX 95 Verdin Evaluering Kit, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 olika varianter av Enclustra Mercury-kort.
- Stöd har lagts till för smartphones och surfplattor baserade pÄ SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) och Qualcomm MSM8939 (ASUS ZenFone 2). Stöd för laptops baserade pÄ SoC Qualcomm sdm850, sÄsom Huawei MateBook E 2019, har lagts till.
- Stöd för SoC och kort baserade pÄ RISC-V-arkitekturen har lagts till: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.
Samtidigt har den latinamerikanska stiftelsen för fri programvara skapat en helt fri kĂ€rnvariant 6.19 â Linux-libre 6.19-gnu, som Ă€r rensad frĂ„n firmware och drivrutiner som innehĂ„ller icke-fria komponenter eller kodavsnitt vars anvĂ€ndningsomrĂ„de Ă€r begrĂ€nsat av tillverkaren. I version 6.19 har koden för att ladda binĂ€r firmware tagits bort frĂ„n SDCA-ljudsystemet. Kod för att rensa blobbar i drivrutinerna Intel XE, Nova-Core, Qualcomm Iris, Venus och Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 och ljudkodarna TI tas2783 har uppdaterats. Rengöring av blob-namn i dts-filer (devicetree) för ARM-chip har genomförts. Rengöringen av drivrutinen STM C8SECTPFE DVB, som tagits bort frĂ„n kĂ€rnan, har avbrutits.
KĂ€lla: opennet.ru
