A Linux 6.19-es kernel kiadása. A következő kernel száma 7.0 lesz.

Két hónap fejlesztés után Linus Torvalds bemutatta a Linux 6.19 kernel kiadását. A legjelentősebb változtatások közé tartozik: a Live Update Orchestrator alrendszer, a PCIe Link Encryption támogatása, a listns rendszerhívás, a Zero-Copy Receive mód az io_uringban, az ARM bővítmény, a MPAM támogatása, a klp-build az élő javítások létrehozásához, a LoongArch32 architektúra támogatása, a s2idle QoS, az audit alrendszer optimalizálása, az Intel LASS a Spectre ellen, a SHA-3 és BLAKE2b hash-ek támogatása, a Confidential VMBus mechanizmus, a TX optimalizációk a hálózati alrendszerben és a CAN XL protokoll, valamint az API a HDR kimenet hardveres gyorsításához.

Az új verzió bejelentésében Linus elmondta, hogy a következő kernel kiadás számát 7.0-ra fogják módosítani, mivel a 6.x ágon elegendő számú kiadás gyűlt össze az első szám megváltoztatásához (a 6.0 kiadást a 5.19 után hozták létre). A sorszám megváltozása esztétikai okokból történik, és formális lépés, amely eltávolítja a kényelmetlenséget, amelyet a sorozaton belüli nagy számú kiadás felhalmozódása okoz. Linus viccelődött, hogy a nagy számok összezavarják, mivel nem elég ujj van a kezein és lábain. Emellett formálisan indokolt a jelentős verziószám változás, mivel a következő kiadás óta a Rust támogatását döntés született a kísérletezőkből az alapvető funkciók közé sorolni.

Az új verzióban 15657 javítást fogadtak el 2237 fejlesztőtől, a patch mérete 52 MB (a változások 13682 fájlt érintettek, 794649 sor kódot adtak hozzá, 335498 sort töröltek). Az előző kiadásban 15035 javítás volt 2217 fejlesztőtől, a patch mérete 45 MB. A 6.19-es verzióban bemutatott változások körülbelül 40%-a az eszközmeghajtókkal kapcsolatos, körülbelül 13%-a az architektúrákra sajátos kód frissítéséről szól, 12%-a a hálózati veremhez kapcsolódik, 5%-a a fájlrendszerekhez és 3%-a a kernel belső alrendszereihez.

A 6.19-es kernel fő újdonságai (1, 2, 3):

  • Lemezszubszisztéma, bemenet/kipontozás és fájlrendszerek
    • A Btrfs-ben a fájlrendszer-ellenőrzési (scrub) és eszközcsere folyamatok már nem blokkolják a rendszer alvó üzemmódba való váltását (az alváshoz való átállás előtt a scrub-ellenőrzés állapota mentésre kerül; az alvásból való kilépés után a scrub-ellenőrzés folytatódik, és az eszközcsere művelet újraindul). A RAID56 megvalósításába beépítették a memóriablokkok támogatását, amely túl Mutatja a memóriapéldányok méretét. Elkészült a fscrypt támogatásának előkészítése. Növelték a zárolásokkal kapcsolatos műveletek teljesítményét a helymegtakarítással kapcsolatos műveletek végrehajtásakor. Hozzáadták a shutdown ioctl-művelet támogatását, amely lehetővé teszi a fájlrendszer állapotának olyan fokozatba állítását, amely megkísérli befejezni a már elindított műveletek végrehajtását, de blokkolja minden új műveletet.
    • Az Ext4 fájlrendszerben megvalósításra került a memóriablokkok támogatása, amelyek mérete meghaladja a memóriapage méretét (>4KB x86 rendszereken). A nagy blokkok használata átlagosan 50%-kal növeli a pufferelt írási műveletek teljesítményét, ugyanakkor csökkenti a közvetlen be/visszajelzés teljesítményét a hash-ellenőrzési idő növekedése miatt. Az új verzióban olyan optimalizálások is készültek, amelyek növelték az online defragmentációs teljesítményt.
    • A FUSE alrendszerében javították a nagy memóriablokkok (large folios) használatával a pufferelt olvasás támogatását. Az iomap-on keresztül lehetővé vált a részben érvényes foliók nyomon követése, hogy csak a pufferben hiányzó adatokat töltsük be.
    • A VFS-ben a visszahívható könyvtárkezelő delegálás (recallable directory delegation) támogatásának bevezetésre került, amely lehetővé teszi az NFS számára a könyvtárkezelés átadását a a szerver klienseknek, hogy az NFS-kliens az NFS-szerverhez való hívások nélkül lokálisan cache-alapú nyomon kövesse a könyvtár állapotát. Ha egy másik NFS-kliens módosításokat hajt végre a könyvtárral kapcsolatban, az első kliens esetében a könyvtárkezelés delegálását visszavonják.
    • Az NFS-hez hozzáadva a közvetlen I/O olvasási támogatása. Megvalósították a /sys/kernel/debug/nfsd/io_cache_read és /sys/kernel/debug/nfsd/io_cache_write beállításokat a cache-elés és közvetlen I/O műveletek engedélyezésének kezelésére; ezek a beállítások csökkentik az NFS-kliens oldali túlterhelést a nagyobb I/O műveletek végrehajtásakor.
    • Az NTFS-ben megvalósították a shutdown ioctl-művelet támogatását, alapértelmezés szerint engedélyezve az „acl” és „prealloc” mount opciókat, a 1970. január 1. előtti időpontra vonatkozó támogatás is hozzá lett adva.
    • A blokkeszközök és fájlrendszerek esetében alapértelmezés szerint külön cache-elés engedélyezett minden CPU számára a „bio” (Block I/O) objektumokhoz, amelyek meghatározzák az aktív I/O műveleteket.
  • Memória és rendszerszolgáltatások
    • A kernelbe integrálva lett a Live Update Orchestrator (LUO) alrendszer, amely lehetővé teszi a kernel teljes újraindítását és frissítését anélkül, hogy leállna a működés, és megőrizné a rendszer, eszközök és folyamatok állapotát. A LUO alrendszer a korábban a kernelbe beillesztett KHO (Kexec HandOver) mechanizmusra alapoz, és a régi kernelből az újra való váltás lehetősége mellett megoldja az eszközök és a RAM állapotának megőrzését is, valamint az DMA és megszakításkezelés folyamataival kapcsolatos műveletek folytonosságának biztosítását. Az állapot megőrzésre kerül az új kernelre váltás előtt, és visszaáll a kernel újraaktiválása után anélkül, hogy megszakítaná a felhasználói térben folyó eszközműveleteket.
    • Hozzáadva a listns() rendszerhívás az aktív névterek listázásához, anélkül, hogy a /proc//ns/ útvonalat kellene végigjárni minden folyamat esetében.
    • Az io_uring aszinkron I/O rendszerbe hozzáadva a különböző méretű elemek elhelyezésének támogatása a beküldési sorban (SQE, Submission Queue Entry), hasonlóan ahhoz, ahogyan a múltbeli kiadásban lehetővé tették a befejezési sor elemeinek (CQE, Completion Queue Event) tartalmának méretének keverését. Korábban minden elemnek azonos méretűnek kellett lennie, ami felesleges memóriafogyasztáshoz vezetett, mivel minden elemhez a maximális méretet kellett használnia a sorban.

      Az io_uring-be a zcrx (Zero-Copy Receive) mechanizmus támogatása is hozzá lett adva, amely lehetővé teszi az adatok átvételét másolás nélkül a kernel és a felhasználói tér között. Hozzá lett adva a memória elrendezésére vonatkozó kérések támogatása az SQ (Submission Queue) és CQ (Completion Queue) sorokhoz, amelyek lehetővé teszik a gyűrűs pufferek méretének információjának megszerzését a felhasználói memória allokálásához az IORING_SETUP_NO_MMAP és IORING_MEM_REGION_TYPE_USER flagok segítségével.

    • A gyors veremnyomozás érdekében olyan eszközök segítségével, mint a perf, hozzá lett adva az SFrame formátum támogatása, amely hívások veremének bontására vonatkozó információkat tartalmaz. Az SFrame már támogatott a GCC és a binutils által, nem csökkenti a teljesítményt, és a DWARF formátummal ellentétben csupán a veremnyomozáshoz szükséges minimális információk készletét tartalmazza.
    • A perf eszközhöz hozzá lett adva az egységesített metrikák és események leírásainak támogatása JSON formátumban, valamint a veremnyomozás késleltetése (deferred unwinding) a felhasználói térben.
    • AMD processzorokhoz megvalósításra került az adatok direkt behelyezésének mechanizmusa a cache-be, amely lehetővé teszi a bemeneti/kimeneti eszközök számára, hogy közvetlenül az L3 CPU cache-be helyezzék az adatokat anélkül, hogy először a RAM-ba kellene őket helyezni.
    • Hozzá lett adva az MPAM (Memory System Resource Partitioning and Monitoring) támogatása, amely az ARMv8-A utasítássorozat architektúrájának kiterjesztése, és lehetővé teszi, hogy minden memóriahozzáféréshez szekcióazonosítót (PARTID, Partition ID) és megfigyelőcsoport-azonosítót (PMG, Monitoring Group ID) rendeljenek. A PARTID-hoz kötődően korlátozható a források, például a memóriaáthidalás vagy a cache mérete, hogy egy feladategyüttes ne foglalhassa el az összes forrást. A megfigyelés kontextusában a PMG és PARTID kombinációja a memóriaforrások fogyasztásának nyomon követésére használható bizonyos terhelési típusok esetén.
    • Ha a folyamat vészhelyzeti leállás után kapott jelet követően leáll, egy másik folyamat, amelynek pidfd-je van a befejezett folyamatnak, most már meghatározhatja a folyamat megszüntetéséhez vezető jel számát.
    • Át lett dolgozva a újraindítható szekvenciák megvalósítása, amelyek lehetővé teszik az alkalmazások számára, hogy pszeudo-atomikus, megszakíthatatlan végrehajtását szervezzék meg egy utasítássorozatnak (ha másik szál megszakítja az ejecuciónt, akkor újrapróbálkozást kezdeményeznek a szekvencia végrehajtására). Az új megvalósítás kiemelkedik a fokozott a magas teljesítmény.
    • A BPF program instructions BPF_JMP, BPF_X, and BPF_JA have been implemented to make indirect jumps to a specific position in the jump table. The concept of dynamic pointers (dynptr) has been added, allowing data to be read from structured files. The ability to attach multiple bytes of metadata to network packets has been introduced.
    • Python modules used for processing kernel documentation have been moved to a separate directory tools/lib/python.
    • The function mempool_alloc_bulk() has been added for safely allocating elements from the memory pool for several objects at once.
    • The transfer of changes from the Rust-for-Linux branch has continued, related to the use of the Rust language as a secondary language for developing drivers and kernel modules (Rust support is not enabled by default and does not include Rust in the mandatory build dependencies for the kernel). The new version includes the 'syn' library with a Rust code parser, simplifying the writing of complex macros. The capabilities of the kernel, pin-init, and rbtree libraries have been expanded. A 'num' library has been added with an Integer trait for manipulating integers. Support for integer parameters has been added to the 'module!' macro. The ability to specify parameters when loading kernel modules written in Rust has been implemented. Abstractions for the I2C and PWM (Pulse Width Modulation) subsystems have been realized.
    • The 'at_least' macro has been added (for example, 'param[at_least 7]'), which informs about the minimum acceptable size of the array passed to the function. If an array with fewer elements is passed to the function, the compiler will issue a warning.
    • The klp-build script has been included for generating kernel modules that make changes to the running kernel (livepatch) based on a patch file. Modifications necessary for creating live patches have been made to the objtool utility.
    • In User-mode Linux (running the kernel as a user process), limited support for multiprocessing has been added, but threads within a single process cannot execute simultaneously yet. Porting User-mode Linux to the nolibc library has begun.
    • Support for the LoongArch32 (LA32R, LA32S) architecture has been added in addition to LoongArch64.
    • Bevezetésre került a QoS-korlátozások beállításának lehetősége a processzor ébresztési intenzitására az s2idle energiatakarékos üzemmódban, amely felfüggeszti a felhasználói térben futó folyamatok végrehajtását, de egyes kernelkezelőket aktívan hagy.
    • Bevezetésre került a memória oldalainak kezelésének támogatása IOMMU (Input-Output Memory Management Unit) vezérlők számára, amelyek a virtuális címek hardveres eszköz által látható fizikai címekké történő fordítását végzik, lehetővé téve a DMA műveletek szűrését virtuális címek alapján, valamint a bemeneti-kimeneti műveletek korlátozását és elszigetelését.
    • A rendszerv calls nyomkövetési eseményeiben megvalósult a felhasználói térből származó pufferek olvasásának lehetősége és annak tartalmának (például fájlnevek) beillesztése a nyomkövetési eredményekbe.
    • A memóriavédelmi oldalak (guard page), amelyekre való hívás kivételt és a folyamat leállását (SIGSEGV) okoz, most külön címkével vannak ellátva a fájlban /proc/PID/smaps.
    • Bevezetésre került a nagy oldalak (transparent huge page) kezelésének lehetősége a zonált eszközök privát memóriájában.
    • A zram eszköz, amelyet a memóriában lévő swap-partíció tömörített tárolására használnak, támogatja több 'bio' (Block I/O) struktúra kidobását kötegelt módban (writeback batching).
    • A csomag tartalmaz egy 'Terminus 10×18' betűtípust, amely javítja a konzolon megjelenő információk olvashatóságát közepes felbontású laptop képernyőkön (1440×900).
    • Jelentősen optimalizálva lett az audit rendszerszolgáltatás működése – a költségek csökkentését kétszeresére tapasztalják.
  • Virtualizáció és biztonság
    • Hozzáadva az Intel processzorok által biztosított lineáris címtér megosztási lehetősége (LASS, lineáris címtér megosztás) támogatása, amely lehetővé teszi a felhasználói és a kernel címtartományok hardveres elkülönítését a biztonság növelése érdekében. A címtér a cím legmagasabb bitje szerint oszlik meg: a legmagasabb bitet beállító címtér fele a kernel számára, míg az alsó fele a felhasználói térhez tartozik. A végrehajtási utasítások korai szakaszában (a spekulatív végrehajtás előtt) ellenőrzik a felhasználói térből a legmagasabb bitet beállító címekhez és fordítva való hozzáférés jogosultságát. Az ilyen megosztás lehetővé teszi a kernel memória szivárgások blokkolását a felhasználói térbe külső csatornák révén még spekulatív utasítás végrehajtása esetén is, ezáltal a LASS alkalmazásával megvédhetjük a Meltdown és Spectre típusú támadásokkal szemben, anélkül, hogy jelentős költségek merülnének fel.
    • Hozzáadva a PCI Express busz biztonsági fejlesztéseket támogató kiterjesztések lehetősége — PCIe Link Encryption és PCIe Device Authentication, amelyek lehetővé teszik a PCIe eszköz és a virtualizált gép közötti kommunikáció hitelesítését és titkosítását, amelyet az Intel TDX (Trusted Domain Extensions) és az AMD SEV-SNP (Secure Nested Paging) mechanizmusai védelmeznek. Az implementált technológiák megakadályozzák az adatok elfogását, elemzését és a DMA forgalom manipulálását, ha hozzáférés van a gazda rendszerhez vagy más eszközökhöz.
    • A beépített kriptográfiai könyvtárhoz hozzáadva a SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512), SHAKE128, SHAKE256 és BLAKE2b algoritmusok támogatása.
    • LSM modulokhoz (Linux Security Modules), különösen SELinux-hoz, lehetővé vált a memfd deszkriptorok létrehozásának nyomon követése, hogy alkalmazni lehessen a biztonsági politikákat az ezekhez kapcsolódó objektumokra.
    • Az IPE (Integrity Policy Enforcement) LSM modulhoz, amely a rendszer átfogó integritási politikáját határozza meg, hozzáadva az AT_EXECVE_CHECK címkét az execveat() függvényhez, ami magában foglalja a szkript integritásának ellenőrzését annak végrehajtása előtt az értelmező által.
    • Hozzáadva a scoped_user_read_access(), scoped_user_write_access és scoped_user_rw_access() primitívek, amelyek korlátozott hozzáférést biztosítanak a felhasználói térbeli adatokhoz, védve a spekulatív támadásoktól.
    • Hozzáadva a Confidential VMBus mechanizmus támogatása, amelyet a HyperV hipervizor használ a hipervizor általi beavatkozás elleni védett kommunikációra a titkosított módban futó vendég rendszerek, valamint az AMD SNP és Intel TDX technológiák alapján működő nyilvántartás-izolálási funkcióval rendelkező paravisor között, amely felelős a titkos adatokat kezelő eszközök kezeléséért.
    • Hozzáadva a lehetőség, hogy információt küldjünk a leállt folyamatról (coredump generálásához) a pidfd mechanizmuson keresztül. A PIDFD az adott folyamathoz van társítva, és nem változik, míg a PID egy másik folyamathoz kapcsolódhat a jelenlegi folyamat leállítása után, amely e PID-hez volt társítva. A pidfd használatával lehetőség van megakadályozni a leállt suid-folyamat helyettesítésére irányuló támadásokat, várakozási állapotot teremtve a kernel által a hiba kezelése után, de a felhasználói térben történő paraméterellenőrzés előtt.
  • Hálózati alrendszer
    • A hálózati alrendszerbe optimalizálások kerültek bevezetésre az adatok (TX) továbbításának hatékonyságának növelése érdekében. Az __dev_queue_xmit() funkció spin-lock nélkül történő használata és a lock-mentes llist struktúra alkalmazásával négyszeres teljesítménynövekedés érhető el nagy terhelés esetén, és a csomagok küldésének intenzitása kétszeresére nőtt a CPU terhelésének kétszeres csökkentése mellett.
    • Lehetővé vált az egyes hálózati socketek számára a rendszer limitjeinek kikapcsolása a memória használatára vonatkozóan (ebben az esetben az egyes konténerekre beállított közös memória limitjeit fogják alkalmazni). A limit kikapcsolásának kezelésére a sysctl net.core.bypass_prot_mem és az SK_BPF_BYPASS_PROT_MEM jelző javasolt a bpf_setsockopt funkcióban.
    • Hozzáadva az RFC 5837 kiterjesztés támogatása, amely az ICMP üzenetekben „Időlejárt” adatokat ad hozzá, amelyeket a csomag életidejének (TTL) lejártakor küldenek vissza, hogy részletesebb információkat kapjanak a traceroute segédprogram útvonalmeghatározáskor használt bejövő hálózati interfészekről.
    • Hozzáadva a folyamatos aktív polling támogatása (busy polling) a kernel egy külön szálában a RX/TX sorokból a leírók kiemelésére, hogy azok az alkalmazások, amelyek minimális késleltetéseket igényelnek.
    • CAN XL (Controller Area Network eXtended Length) protokoll támogatása hozzáadva, amelyben az adatmező mérete 2048 byte-ra nőtt a TCP/IP hálózatokkal való integráció érdekében, megvalósítva az Ethernet keretek alagútképzését, és a szélessávú impulzus moduláció támogatását, amely lehetővé tette az adatok 20 Mbit/s sebességgel vagy annál gyorsabb átvitelét.
    • A sockaddr_unsized struktúra támogatása hozzáadva, amely a sockaddr struktúra egy alternatív változata, amely rugalmas elemekből álló tömböt használ rögzített méretű tömb helyett (sa_data[] a sa_data[14] helyett, amely lényegében a nagyobb méretű egyéb struktúrákra való hivatkozására szolgált).
    • A getsockname és getpeername funkciók használatának lehetősége hozzáadva az io_uring alrendszeren keresztül.
    • A TCP optimalizálásához hozzáadva a sysctl net.ipv4.tcp_rcvbuf_low_rtt és net.ipv4.tcp_comp_sack_rtt_percent beállítások.
    • Hozzáadva a 1600 Gbps (1.6T) sebességű linkek támogatása.
  • Hardver
    • A DRM (Direct Rendering Manager) alrendszerhez API került hozzáadásra a színátalakítási hardveres képességek kihasználására, lehetővé téve az ilyen átalakítások elkerülését shader-ek vagy CPU-n futó kód végrehajtásával. Az HDR monitorok tartalmának megjelenítésére a bonyolult színátalakítások most már a kijelező vezérlő által valósulhatnak meg a rétegek keverési fázisa előtt és után, a tartalom szoftveres kompozálása helyett a végső kijelzőpufferbe. Ezen funkciók csökkentik a költségeket és az energiát az HDR kimenet szervezésekor, és alkalmazhatók a színpontos átvitelre a videó- vagy képszerkesztőkben.
    • Hozzáadva az „ethosu” meghajtó az Arm Ethos U65 és U85 NPU-hoz, amely a mesterséges intelligencia modellek hardveres gyorsítására szolgál.
    • Az i915 meghajtóhoz a Lunar Lake és újabb GPU számára hozzáadva a kép élesítésének hardveres támogatása.
    • Folyamatban van a Direct Rendering Manager (DRM) Xe meghajtó fejlesztése az Intel Xe architektúrával rendelkező GPU-khoz, amelyeket az Intel Arc grafikus kártyákban és az integrált grafikában használnak a Tiger Lake processzoroktól kezdve. Az Xe3P architektúra kezdeti támogatása hozzáadva, amelyet a Crescent Island GPU és a Nova Lake integrált grafikás processzor család használ.
    • Az AMDGPU meghajtóval teljes körű támogatás valósult meg az AMD GCN 1.0 „Southern Island” és 1.1 „Sea Islands” családba tartozó videokártyákhoz, amelyekhez korábban a Radeon meghajtót használták. Az AMDGPU meghajtó most már paritást ért el a Radeon meghajtóval, és alapértelmezetten aktiválva van a megadott GPU-k számára. A GCN 1.x kártyákat 2012 és 2019 között gyártották, és olyan modelleket ölelnek fel, mint a 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 és más Radeon Rx 200/Rx 300 családba tartozó videokártyák. A teljesítmény átlagosan 24%-os növekedése mellett az AMDGPU-ra való áttérés lehetővé tette a Vulkan 1.3 grafikus API támogatását ezen GPU-k számára. Ezenkívül az AMDGPU tartalmazza az analóg csatlakozók és a Video Coding Engine 1.0 támogatását, valamint alapértelmezetten aktiválva van a DC (Display Core) stack a Bonaire mikroarchitektúrára épülő GPU-knál (Radeon HD 7700).
    • A Nouveau meghajtóban megvalósult a Tegra210 SoC-ba épített NVJPG hardveres gyorsítós támogatása.
    • A Panthor meghajtóhoz hozzáadva a Mali-G1 GPU és a MediaTek MT8196 chip kezdeti támogatása.
    • Hozzáadva az Intel Nova Lake S chipek hangalrendszere, az HP HDA CS35L41 laptopok, valamint a CIX IPBLOQ HD és Onkyo SE-300PCIE hangos interfészek támogatása.
    • A Nova meghajtó komponenseinek integrációja folytatódik az NVIDIA GPU-khoz, amelyek GSP firmware-rel rendelkeznek, kezdve az NVIDIA GeForce RTX 2000 sorozattal, amely a Turing mikroarchitektúrára épül. A meghajtót Rust nyelven írták. Az új verzióban elkezdődött az RPC fejlesztése és befejeződött a GSP (GPU System Processor) koprocesszor betöltésének megvalósítása.
    • Hozzáadva az ARM platformok, SoC és eszközök támogatása: 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 Evaluation Kit, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 variáns Enclustra Mercury lapokból.
    • Hozzáadva a Mediatek MT6582 SoC-ra épülő okostelefonok és táblagépek támogatása (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) és Qualcomm MSM8939 (ASUS ZenFone 2). Hozzáadva laptopok támogatása a Qualcomm sdm850 SoC-n, mint például a Huawei MateBook E 2019.
    • Hozzáadva a RISC-V architektúrára épülő SoC-k és lapok támogatása: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.

Egyszerre a latin-amerikai Szabad Szoftver Alapítvány kiadta a 6.19-es verziót, amely teljesen szabad Linux-libre 6.19-gnu mag, eltávolítva a gyártó által korlátozott szabadalmakat és kód szakaszokat tartalmazó firmware- és driverelemeket. A 6.19-es kiadásban a SDCA hangrendszerhez tartozó kódot eltávolították a bináris firmware-ek betöltéséhez. Frissítve lett a blob-ok tisztítási kódja az Intel XE, Nova-Core, Qualcomm Iris, Venus és Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 és TI tas2783 hangkódolók drivereiben. A blob-ok neveinek tisztítása a dts-fájlokban (devicetree) ARM-chippekhez is megtörtént. A STM C8SECTPFE DVB driver tisztítása leállt, amely eltávolításra került a magból.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster