Linux 7.1

Két hónap fejlesztés után Linus Torvalds bemutatott a kernel kiadás Linux 7.1A legfontosabb változások között szerepel: az új ntfsplus meghajtó, az i486 CPU támogatásának első szakasza, a régi Ethernet adapterek eltávolítása, az ISDN és AX.25 protokollok törlése, az Intel FRED mechanizmus alapértelmezett engedélyezése, a BPF-kezelők támogatása az io_uringban, a swap alrendszer optimalizálása, a subscheduler-ek támogatása a sched_ext-ben, a zero-copy I/O bevezetése az ublk meghajtóban, a Btrfs-ben végzett ioctl művelet a shutdown-ra, a dinamikus teljesítmény mód váltás támogatása az amd-pstate meghajtóban, xattr támogatás Unix socket-ekhez.

Az új verzióba 17275 javítást fogadtak el 2589 fejlesztőtől, a patch mérete 57 MB (a változások 13528 fájlt érintettek, 751785 kódsort adtak hozzá, 405916 kódsort töröltek). Az előző kiadásban 15624 javítás volt 2477 fejlesztőtől, a patch mérete 56 MB. A 7.1-es verzióban bemutatott változások körülbelül 41%-a a készülékmeghajtókkal kapcsolatos, körülbelül 12% a hardverarchitektúrákra vonatkozó kód frissítésével kapcsolatos, 14% a hálózati stackkel foglalkozik, 5% a fájlrendszerekkel, és 3% a kernel belső alrendszereivel.

A 7.1-es kernel fő újdonságai ((angol nyelven) és az, lwn.net, opennet):

Lemezszubszisztéma, bemenet/kipontozás és fájlrendszerek
  • A részét képezi az új implementáció NTFS fájlrendszer — ntfsplus, amely a klasszikus ntfs meghajtó kódján alapul. A régi meghajtót újraalkották, ki lett terjesztve az adatok írásának lehetőségével és modern lehetőségekkel való alkalmazkodással, mint például oldalakhoz (folios) a buffer_head struktúra helyett. Az új meghajtóban megvalósították a blokkok késleltetett kiosztását, ami lehetővé tette a magas írási teljesítmény és a fragmentáció csökkentését. A puffertartó írási/olvasási, közvetlen I/O, kiterjedt mapelek és az oldalírási/olvasási műveletek esetén a következő könyvtárat használták: iomap. Az iozone tesztekben az ntfsplus meghajtó 3-5%-kal gyorsabb volt az ntfs3-nál egyetlen szálas módban és 35-110%-kal négy szál használatakor. Az ntfsplus és az ntfs3 olvasási sebessége körülbelül azonos szinten áll. Az ntfs3 meghajtó továbbra is része a kernelnek, és abban bevezetésre kerültek javítások és kis fejlesztések találhatók.
  • Hozzáadták az integritásellenőrzési adatok generálásának és ellenőrzésének támogatását T10 (deepwiki.com) a fájlrendszeren belül, nem a blokk készülék szintjén, ami a műveletek olvasási teljesítményének növelését teszi lehetővé.
  • A blokk készülékek meghajtójában ublk, amely lehetővé teszi a specifikus logika átadását a felhasználói folyamat oldalára, hozzáadva lett a megosztott memória alapú I/O-támogatás az adatok pufferek közötti átmásolása nélkül (zero-copy mód).
  • Önszifonáló blokkeszközök számára SED-OPAL hozzáadva ioctl a mód kezeléséhez Egyfelhasználós és végrehajtva lett a STACK_RESET parancs.
  • A Btrfs-ben stabilan bejelentésre került az ioctl shutdown művelet támogatása, amely lehetővé teszi a fájlrendszer állapotának átállítását, amelyben megpróbálják befejezni az aktív műveleteket, de minden új műveletet letiltanak.
  • Az exfat-ban megvalósították az üres területek lefoglalásának lehetőségét a fallocate() függvény hívásával.
  • A CIFS fájlrendszerhez hozzáadták a ideiglenes fájlok létrehozásának támogatását O_TMPFILE flaggel.
  • A rendszerhívásba fsmount() hozzáadta a FSMOUNT_NAMESPACE opciót, amely új névteret hoz létre a csatolt fájlrendszerhez. A clone3() és unshare() rendszervcalls-ba új flags-ek kerültek, hogy visszaadják a névteret, amely csak a csatolt üres fájlrendszer helyettesítőjét tartalmazza nullfs alapon, fs-dax illesztőprogrammal a DAX (Direct Access) eszközökhöz.
  • NFS-szerver hozzáadva lett fájl-azonosítók feltörése elleni védelem, amelyet a leírók kriptográfiai aláírásával valósítottak meg. A védelem a sign_fh csatolmány opcióval aktiválható.
  • az „Alkalmazás” eszköz szimbolikus fs-dax illesztőprogram, amely interfészt biztosít az eszközökkel való interakcióhoz DAX (kernel.org) (Direct Access), amelyek a lapcache megkerülésével működnek. Az említett interfész szükséges a fájlrendszer kernelbe való integrálásához famfs, amely a RAM-ban található.
  • A Ceph fájlrendszerben megvalósították mérési adatok gyűjtése a bemeneti/kimeneti tevékenységekkel kapcsolatban a szubszidiáriákhoz.
Memória és rendszerszolgáltatások
  • Elfogadva lett az első változás-sorozat a i486 processzorok támogatásának megszüntetésére. A Kconfig-ból eltávolították a kernel i486DX, 486SX és AMD ELAN (CONFIG_M486, CONFIG_M486SX és CONFIG_MELAN) processzorok támogatásának lehetőségét, a Makefile-ból pedig eltávolították az i486-os rendszerekhez való fordítási opciókat (-march=i486). A kód az i486-os processzorok tényleges támogatásához egyelőre a kernelben maradt, de az ilyen rendszerekhez való build mostantól patch-ek alkalmazását igényli a build fájlokon. Az i486-os processzorok támogatásának eltávolításának oka az volt, hogy a kernelt megkíméljék olyan bonyolult kódoktól, amelyek néhány hardveres műveletet emulálnak, mint például a CX8 (8 byte összehasonlítás és csere) és a TSC (CPU ciklusszámláló, amelyet a feladatütemező használ).
  • Az amd-pstate meghajtó, amelyet az AMD processzorokkal rendelkező rendszerek energiafogyasztásának kezelésére alkalmaznak, megvalósult dinamikusan váltogatja a teljesítménybeállításokat és módosítja az energiaellátás kezelésének viselkedését a hálózati áram vagy az akkumulátor működtetése alapján. Hálózati csatlakozás esetén mostantól a teljesítmény üzemmód aktiválódik, míg akkumulátoros működés esetén a balance_performance üzemmód lép életbe.
  • Alapértelmezés szerint aktiválva van a mechanizmus Intel FRED (Rugalmas Visszatérítés és Esemény Szállítás), amely javítja az alacsony szintű események információszállításának hatékonyságát és megbízhatóságát. A teljesítmény növelése és a késleltetések csökkentése a folyamat események visszatérítésének lehetősége révén, az IRET processzor utasítással, ahelyett, hogy az eseményeket az IDT (Megszakítási Leíró Táblázat) táblán keresztül továbbítanák. A megbízhatóságot a kernel és a felhasználói kontextusban történő eseménykezelés elkülönítése, az NMI-től való védelem és az összes CPU-hoz kapcsolódó regiszter mentése biztosítja a kiterjesztett veremkeretben.
  • A perf alrendszeren belül hozzáadva lett támogatás a memória teljesítménymonitorozó egységeinek (PMU - Performance Monitoring Unit) használatára, amelyek a NVIDIA Tegra410 SoC-n alkalmazhatók.
  • Felgyorsult a futex műveletek végrehajtása ARM rendszereken az Arm 9.6 LSUI utasítások alkalmazásával, amelyek lehetővé teszik a kernel számára, hogy közvetlenül hozzáférjen a felhasználói memória területhez védelem kikapcsolása nélkül. PAN (arm.com) (Privileged Access Never).
  • ARM processzorokkal rendelkező rendszereken javult az utasításkészlet-architektúra kiterjesztésének támogatása MPAM (Memória Rendszer Erőforrások Particionálása és Monitorozása) és lehetővé vált a felhasználói térből való használata az erőforrások kezelése érdekében a resctrlmechanizmuson keresztül. Az MPAM lehetővé teszi, hogy minden memóriahozzáférést szakaszazonosító (PARTID, Partition ID) és monitorozási csoport azonosító (PMG, Monitoring Group ID) azonosítóra címkézzenek. A PARTID-hoz kapcsolódóan korlátozni lehet az erőforrások, mint például a memória sávszélesség vagy a cache méretének fogyasztását, így valamely feladatcsoport nem használhatja el az összes erőforrást. Monitorozás kontextusában a PMG és PARTID kombinációját használhatjuk a memóriafogyasztás nyomon követésére bizonyos terhelések esetén.
  • Hozzáadva a valós idejű üzemmód (PREEMPT_RT) használatának lehetősége 32 bites ARM processzorokon. Korábban a PREEMPT_RT támogatását x86 és x86-64, ARM64, RISC-V és LoongArch architektúrákon nyújtották.
  • A rendszerhívásba clone3() új flagok hozzáadva: CLONE_NNP — tiltás új kiváltságok megszerzésére a létrehozott folyamatban; CLONE_AUTOREAP — a folyamat automatikus befejezése ahelyett, hogy zombifolyamatná válna a szülőfolyamat általi wait() függvény végrehajtása előtt; CLONE_PIDFD_AUTOKILL — a gyerekfolyamat befejezése, ha a hozzá kapcsolódó pidfd leíró bezárul (például a szülőfolyamat befejezésekor).
  • Minden kernelmodulhoz hozzáadva egy import_ns fájl a /sys/module mappában, amely az importált szimbólumtér listáját tartalmazza (szimbólumtér).
  • Az io_uring aszinkron bemeneti/kimeneti rendszeréhez hozzáadva a BPF alrendszer támogatása a kezelők létrehozásához. Például a fő ütemező ciklus lecserélhető egy BPF programra.
  • A BPF rendszerben modernizált a verifikáló által végzett verifikáló sok BPF program ellenőrzésének jelentős felgyorsítása érdekében.
  • A teljesítmény optimalizálása érdekében átírásra került a hrtimer (magas felbontású időzítő) alrendszer. A feladatütemező most már használhat magas felbontású időzítőket a teljesítmény vesztesége nélkül a kevésbé pontos időzítők helyett.
  • Folyamatban van a Rust-for-Linux ágból a változások átvitele, amelyek a Rust nyelv használatára vonatkoznak, mint második nyelv a meghajtók és kernel modulok fejlesztéséhez (a Rust támogatás alapértelmezetten nem aktív, és nem okozza a Rust kötelező építési függőségek közé kerülését a kernelhez). Az 1.85-ös verzió előtt (a Debian 13-ban van) megnövekedtek a Rust verzió követelményei a kernel kompenensek építéséhez. Hozzáadva egy kísérleti Kconfig opció, CONFIG_RUST_INLINE_HELPERS a C-ablakok Rust kódba történő beágyazásához a fordítás során (az optimalizálás 2%-kal felgyorsította a null blokkdíjt). Hozzáadva a ‘const_assert!’ makrót. A modulok mérete, clk, ptr, sync, error képességeinek kibővítése.
  • A mechanizmus SCHED_EXT, amely lehetővé teszi a BPF használatát CPU ütemezők létrehozásához, hozzáadva lett kezdő lehetőség a beágyazott ütemezők (sub-scheduler) létrehozására, amellyel minden cgroup számára saját feladat ütemező lehet aktiválni.
  • Folytatódik a swap alrendszer optimalizációja. A régi swap_map struktúra eltávolítva, helyette a "Swap Table" mechanizmus került bevezetésre. A változtatás javította a teljesítményt és csökkentette a memóriafogyasztást a swap alrendszerben.
  • A subsystem DAMON (Data Access MONitor), amely lehetővé teszi a folyamat memóriában való adat-hozzáférésének nyomon követését (például megtudhatjuk, hogy mely memória területekkel lépett kapcsolatba a folyamat, és mely területek maradtak kihasználatlanok), hozzáadva lett támogatás különböző automatikus algoritmusokhoz finomhangolásához kvótákhoz.
  • A nyomkövető alrendszerben megvalósítva külső körkörös pufferek koncepciója, amely lehetővé teszi a nyomkövetési adatok megszerzését virtuális gépekből. A lehetőség a KVM hipervizorokban van érvényben, és nVHE az nyomkövetési adatok átviteléhez a vendég rendszerről a gazda oldalára.
  • A subsystem RV (kernel.org) (Runtime Verification), amely a nagy megbízhatóságú rendszerek működésének helyességének ellenőrzésére szolgál, hozzáadott monitorozó komponensek "stall" a feladatok nyomon követésére, amelyek végrehajtása ideiglenesen leállt vagy blokkolva van, és "deadline" a feladat ütemező viselkedésének elemzésére.
Virtualizáció és biztonság
  • Alapértelmezés szerint a PROC_MEM_FORCE_PTRACE zászló van beállítva, amely lehetővé teszi a folyamat memóriájához való hozzáférési jogok megkerülését a /proc/PID/mem csak a ptrace() rendszerhívást használó folyamatok esetén.
  • az „Alkalmazás” eszköz új hook-készlet az LSM modulok számára (Linux Security Module), amely leegyszerűsíti a politikák megvalósítását a verem fájlrendszerek, például overlayfs esetében. Az LSM-ben szintén hozzáadva hook a Unix-soketek hozzáférésének kezelésére, amely aktív az LSM Landlock modulban a Unix-soketek hozzáférési politikáinak hozzárendelésére szolgál.
  • A beágyazott kriptográfiai könyvtárba lib/crypto, egyszerűbb és gyorsabb funkciókat biztosít, mint a hagyományos crypto API, hozzáadva lett támogatva az AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH és SM3 algoritmusokat. Hozzáadva dokumentáció a lib/crypto révén.
  • A pKVM (Protected KVM) üzemmód megvalósítva a szigorú elszigetelés névtelen memória felhasználásával, a AArch64 architektúrához tartozó virtualizációs kiterjesztések alkalmazásával. Ebben az üzemmódban a vendég memória oldalai ki vannak zárva a gazda rendszer virtuális cím táblájából. A KVM hipervizorhoz hozzáadva a támogatás ötödik verziója
  • a virtuális megszakításkezelő ARM (VGICv5 — ARM Virtual Generic Interrupt Controller v5). Az unix-soketekhez, amelyeket a socket() funkció hoz létre, támogatás kiterjesztett fájlattribútumok (xattr) user.*. A felhasználási területek közül megemlítik a címkék beállítását a kiterjesztett attribútumok révén Unix-soketeknél, amelyeket IPC Varlink használ, hogy kiemeljék őket az általános tömegből az IPC működésének ellenőrzésére és hibakeresésére BPF programok segítségével. A systemd-journald a kiterjesztett attribútumokat a napló formátumának meghatározására kívánja használni a /dev/log sockethez való kötődéssel.
Hálózati alrendszer
  • támogatás kiterjesztett fájlattribútumok (xattr) user.*. A felhasználási területek közül megemlítik a címkék beállítását a kiterjesztett attribútumok révén Unix-soketeknél, amelyeket IPC Varlink használ, hogy kiemeljék őket az általános tömegből az IPC működésének ellenőrzésére és hibakeresésére BPF programok segítségével. A systemd-journald a kiterjesztett attribútumokat a napló formátumának meghatározására kívánja használni a /dev/log sockethez való kötődéssel. megvalósítva támogatás kiterjesztett fájlattribútumok (xattr) user.*. A felhasználási területek közül megemlítik a címkék beállítását a kiterjesztett attribútumok révén Unix-soketeknél, amelyeket IPC Varlink használ, hogy kiemeljék őket az általános tömegből az IPC működésének ellenőrzésére és hibakeresésére BPF programok segítségével. A systemd-journald a kiterjesztett attribútumokat a napló formátumának meghatározására kívánja használni a /dev/log sockethez való kötődéssel.
  • a about:plugins oldal, amely megduplázta a "Kiegészítők és témák > Bővítmények" szakaszt. UDP-Lite protokoll támogatása (RFC 3828), lehetővé téve a hibás ellenőrző összeggel rendelkező csomagok kézbesítését azzal a feltételezéssel, hogy például a részben sérült audio- és videoadatok a kodek szintjén helyreállíthatók. A protokoll eltávolításra került, mivel senki sem használja.
  • Eltávolították IPv6 stack kernel modul formájában történő összeállításának lehetősége, amelyet a gyakorlatban nem alkalmaztak (az IPv6-ot vagy beépítik a kernelbe, vagy teljesen letiltják), de bonyolította a karbantartást, mivel ha az IPv6 modulként van összeállítva (CONFIG_IPV6=m), sok alrendszer kénytelen volt felesleges kezelőket hozzáadni az IPv6 modul eltávolításának esetére.
Hardver
  • Az AMDGPU illesztőprogramban bekapcsolva új megjelenítő motor (DC) az AMD HD 7000 sorozatú APU-khoz (Sea Islands, GCN 1.1).
  • A Nouveau illesztőprogramban hozzáadva lett kezdeti támogatás a NVIDIA GA100 GPU-hoz, amely az Ampere mikroarchitektúrán alapul.
  • Folytatódott a drm-illesztőprogram (Direct Rendering Manager) Xe fejlesztése az Intel Xe architektúrára épülő GPU-khoz, amely az Intel Arc család grafikus kártyáiban és az integrált grafikus megoldásokban található, kezdve a Tiger Lake processzorokkal. Hozzáadva a Intel Nova Lake-P processzorának grafikus alrendszereinek támogatása. Megvalósították a törölhető puffertárgyakat (Purgeable Buffer Objects).
  • Folytatódott a Nova illesztőprogram komponenseinek integrációja a NVIDIA GSP firmware-rel rendelkező GPU-khoz, amelyek a Turing mikroarchitektúrára épülő NVIDIA GeForce RTX 2000 sorozattól kezdődnek. Az illesztőprogram Rust nyelven készült. Kezdeti támogatás került a Turing mikroarchitektúrára épülő GPU-khoz.
  • az „Alkalmazás” eszköz DRM-illesztőprogram corebootdrm a grafikák kimenetéhez CoreBoot alapú firmware-en keresztül.
  • Hozzáadva támogatás az ASoC AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP és WM8962 hangkártyákhoz. Javították a USB interfésszel rendelkező hangkészülékek támogatását: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
  • az „Alkalmazás” eszköz yogafan illesztőprogram a Lenovo Yoga, Legion és IdeaPad laptopok hűtőjének forgásának sebességének nyomon követésére.
  • Hozzáadva támogatás az ARM platformokhoz, SoC-hoz és eszközökhöz: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 és ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
  • a about:plugins oldal, amely megduplázta a "Kiegészítők és témák > Bővítmények" szakaszt. támogatás a Baikal-T1 SoC-ban használt AHCI SATA és PCIe vezérlőkhez, valamint időzítő, memória, physmap, busz, hwmon, dwc és bt1-rom illesztőprogramokhoz. Az eltávolítás okaként a karbantartás hiányát és a Baikal platform komponenseinek a kernelbe való beintegrálásának befejezésének hiányát jelölték meg, amelynek gyártását Oroszországban 2025 novemberében leállították.
  • Eltávolítva 12 Ethernet-illesztőprogram az ISA és PCMCIA interfészekhez, amelyeket 2002 előtt gyártottak, és amelyeknek nem akadt felhasználójuk a munkarendszerekben. A kernelből szintén eltávolításra került az alrendszer ISDN, a protokollok megvalósítása AX.25, CAIF és a Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), yellowfin meghajtók (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport és logibm (busmouse). Az eltávolítás oka az aktív karbantartók hiánya volt, miközben a syzbot és az AI-eszközök segítségével észlelt hibák száma folyamatosan nőtt, amelyeket senki nem vállal javítani, és a komoly problémák orvoslása teljesen a fő hálózati alrendszerek karbantartóira hárul. Összesen több mint 140 ezer sor kódot távolítottak el.

Forrás: linux.org.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