UtgÄvan av Linux-kÀrnan 7.1

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds version 7.1 av Linux-kÀrnan. Bland de mest anmÀrkningsvÀrda Àndringarna finns: en ny ntfsplus-drivrutin, det första steget i att avbryta stödet för CPU i486, borttagning av gamla Ethernet-adapttrar, borttagning av ISDN- och AX.25-protokoll, som standard aktiverad Intel FRED-mekanism, stöd för BPF-hanterare i io_uring, optimering av bytesubsystemet, stöd för delplanerare i sched_ext, zero-copy I/O i ublk-drivrutinen, ioctl-operationen "shutdown" i Btrfs, dynamisk vÀxling av prestandalÀget i amd-pstate-drivrutinen, stöd för xattr för Unix-socklar.

I den nya versionen har 17275 korrigeringar gjorts av 2589 utvecklare,
patchstorleken Àr 57 MB (Àndringarna berörde 13528 filer, 751785 kodrader lades till och 405916 rader togs bort). I det föregÄende slÀppet gjordes 15624 korrigeringar av 2477 utvecklare, patchstorleken var 56 MB. UngefÀr 41% av alla förÀndringar som infördes i 7.1 Àr relaterade till enhetsdrivrutiner, cirka 12% av förÀndringarna har att göra med uppdatering av kod specifik för hÄrdvaruarkitekturer, 14% rör nÀtverksstacken, 5% rör filsystem och 3% rör interna kÀrnsystem.

De viktigaste nyheterna i kÀrnan 7.1 (1, 2, 3):

  • Disksubsystem, in- och utmatning och filsystem
    • En ny implementation av NTFS-filsystemet – ntfsplus, baserad pĂ„ kod som tagits bort frĂ„n den klassiska ntfs-drivrutinen. Den gamla drivrutinen har omarbetats, utvidgats med skrivmöjlighet och anpassats för att stödja moderna funktioner, sĂ„som anvĂ€ndning av minnesblad (folios) istĂ€llet för buffer_head-strukturer. I den nya drivrutinen har fördröjd blockallokering implementerats, vilket har möjliggjort hög prestanda vid skrivoperationer och minskad fragmentering. För buffrade skriv-/lĂ€sningsoperationer, direkt I/O, mappning av extenter och sidlĂ€sa-/skrivoperationer anvĂ€nds iomap-biblioteket. I iozone-tester var ntfsplus-drivrutinen 3-5% snabbare Ă€n ntfs3 i ensamband och 35-110% snabbare vid anvĂ€ndning av 4 trĂ„dar. LĂ€sningen av ntfsplus och ntfs3 Ă€r ungefĂ€r pĂ„ samma nivĂ„. ntfs3-drivrutinen kvarstĂ„r i kĂ€rnan och har fĂ„tt korrigeringar och smĂ„ förbĂ€ttringar.
    • Stöd för generering och verifiering av integritetskontrolldata T10 har lagts till pĂ„ filsystemsnivĂ„ snarare Ă€n blockenhet, vilket ger en ökning av lĂ€sprestanda.
    • I blockenhetsdrivrutinen ublk har stöd för in- och utdata via delad minne utan kopiering av data mellan buffrar (zero-copy-lĂ€get) lagts till, vilket möjliggör specifik logik pĂ„ anvĂ€ndarprocessens sida.
    • För sjĂ€lv-krypterande blockenheter SED-OPAL har ioctl för att hantera lĂ€get Single User lagts till, och kommandot STACK_RESET har implementerats.
    • I Btrfs har stöd för ioctl-operationen "shutdown" deklarerats stabil, vilket möjliggör att sĂ€tta filsystemet i ett tillstĂ„nd dĂ€r aktiva operationer försöker avslutas, men alla nya operationer blockeras.
    • I exfat har möjligheten att reservera lediga omrĂ„den genom att anropa fallocate() implementerats.
    • I filsystemet CIFS har stöd för att skapa temporĂ€ra filer med flaggan O_TMPFILE lagts till.
    • I systemanropet fsmount() har alternativet FSMOUNT_NAMESPACE lagts till, vilket skapar ett nytt namnrymd för monteringspunkter för det monterade filsystemet. Flaggor har lagts till i systemanropen clone3() och unshare() för att Ă„tervĂ€nda till en ny namnrymd för monteringspunkter som endast innehĂ„ller monterade tomma filsystemsskydd baserade pĂ„ nullfs, fs-dax-drivrutinen med filsystemgrĂ€nssnitt till DAX-enheter (Direct Access).
    • I NFS-servern har skydd mot attacker med gissning av filbeskrivare lagts till, som implementeras genom att signera beskrivarna med kryptografisk signatur. Skyddet slĂ„s pĂ„ via monteringsalternativet sign_fh.
    • En symbolisk drivrutin för fs-dax har lagts till, vilket ger ett grĂ€nssnitt för interaktion med DAX-enheter (Direct Access) som stöder arbete utan sidcache. Detta grĂ€nssnitt Ă€r nödvĂ€ndigt för integration i kĂ€rnfilsystemet famfs, som placeras i RAM.
    • I filsystemet Ceph har insamling av I/O-metrik kopplad till underpartitioner implementerats.
  • Minne och systemtjĂ€nster
    • Den första serien av Ă€ndringar har antagits för att avsluta stödet för i486-processorer. Alternativen för att bygga kĂ€rnan med stöd för 486DX, 486SX och AMD ELAN (CONFIG_M486, CONFIG_M486SX och CONFIG_MELAN) har tagits bort frĂ„n Kconfig, och kompilationsalternativen för i486-system (-march=i486) har uteslutits frĂ„n Makefile. Koden för faktisk support pĂ„ i486-processorer finns dock kvar i kĂ€rnan, men att bygga för sĂ„dana system krĂ€ver nu att patchar till byggfiler anvĂ€nds. SkĂ€len för att ta bort stödet för i486-processorer beror pĂ„ en önskan att avlĂ€gsna komplex kod som emulerar vissa hĂ„rdvaruoperationer, sĂ„som CX8 (jĂ€mför och byt 8 byte) och TSC (CPU-cykeltĂ€knare som anvĂ€nds i uppgiftsschemalĂ€ggaren).
    • I amd-pstate-drivrutinen, som anvĂ€nds för att hantera strömförbrukningen pĂ„ system med AMD-processorer, har dynamisk vĂ€xling av prestandainstĂ€llningar och Ă€ndringar i strömhanteringsbeteendet implementerats beroende pĂ„ om systemet drivs med nĂ€taggregat eller batteri. Vid stationĂ€r anslutning aktiveras nu lĂ€get "performance", medan "balance_performance" aktiveras nĂ€r systemet körs pĂ„ batteri.
    • Intel FRED (Flexible Return and Event Delivery) mekanismen Ă€r nu aktiverad som standard, vilket möjliggör ökad effektivitet och pĂ„litlighet vid leverans av information om lĂ„g-nivĂ„ hĂ€ndelser. PrestandaförbĂ€ttringar och minskade fördröjningar uppnĂ„s genom att Ă„tervĂ€nda hĂ€ndelser med processorinstruktionen IRET istĂ€llet för att överföra hĂ€ndelser via IDT (Interrupt Descriptor Table). PĂ„litligheten ökas genom att separat hantera ankomsten av hĂ€ndelser i bĂ„de kĂ€rn- och anvĂ€ndarkontext, skydd mot inbĂ€ddad exekvering av NMI, samt bevarande av alla CPU-register relaterade till undantag i den utökade stackramen.
    • Under perf-subsystemet har stöd för minnesprestandamonitoreringsenheter (PMU - Performance Monitoring Unit) lagts till, som anvĂ€nds i NVIDIA Tegra410 SoC.
    • Exekveringen av futex-operationer pĂ„ ARM-system har accelererats, tack vare anvĂ€ndningen av Arm 9.6 LSUI-instruktioner, vilket gör att kĂ€rnan kan komma Ă„t minne i anvĂ€ndarutrymmet utan att först stĂ€nga av skyddsmoden PAN (Privileged Access Never).
    • PĂ„ system med ARM-processorer har stödet för tillĂ€gg av arkitekturen för MPAM (Memory System Resource Partitioning and Monitoring) förbĂ€ttrats och möjligheten till anvĂ€ndning i anvĂ€ndarutrymmet för resurskontroll via mekanismen resctrl har lagts till. MPAM tillhandahĂ„ller mĂ€rkning av varje minnesĂ„tkomst med en sektionsidentifierare (PARTID, Partition ID) och en övervakningsgruppsidentifierare (PMG, Monitoring Group ID). I förhĂ„llande till PARTID kan resursförbrukning som minnesbandbredd eller cache-storlek begrĂ€nsas, sĂ„ att en grupp uppgifter inte tar alla resurser. I övervakningskontext kan kombinationen av PMG och PARTID anvĂ€ndas för att spĂ„ra minnesresursförbrukning under vissa typer av belastning.
    • Möjligheten att anvĂ€nda realtidslĂ€ge (PREEMPT_RT) pĂ„ 32-bitars ARM-processorer har lagts till. Tidigare var stöd för PREEMPT_RT tillgĂ€ngligt för x86 och x86-64, ARM64, RISC-V och LoongArch-arkitekturer.
    • Nya flaggor har lagts till i systemanropet clone3(): CLONE_NNP — förbud mot att fĂ„ nya privilegier i den skapade processen; CLONE_AUTOREAP — automatisk avslutning av processen istĂ€llet för att göra den till en zombieprocess tills förĂ€ldraprocessen anropar wait();
      CLONE_PIDFD_AUTOKILL — avslutning av barnprocessen om den relaterade pidfd-handtaget stĂ€ngs (till exempel vid avslutning av förĂ€ldraprocessen).
    • För varje kĂ€rnmodul har en fil import_ns lagts till i katalogen /sys/module, som innehĂ„ller en lista över importerade symbolnamnsrymder.
    • I systemet för asynkron I/O io_uring har stöd för att anvĂ€nda BPF-subsystemet för att skapa hanterare lagts till. Till exempel kan den primĂ€ra schemalĂ€ggningsslingan ersĂ€ttas med ett BPF-program.
    • I BPF-subsystemet har analysen av stackanvĂ€ndning moderniserats, vilket avsevĂ€rt har snabbat upp verifieringen av mĂ„nga BPF-program.
    • För att optimera prestanda har BPF-subsystemet hrtimer (high resolution timer) skrivits om. SchemalĂ€ggaren kan nu anvĂ€nda timers med hög precision utan prestandaförlust istĂ€llet för mindre exakta timers.
    • Överföringen av förĂ€ndringar frĂ„n Rust-for-Linux-grenen fortsĂ€tter, relaterat till anvĂ€ndningen av Rust som ett andra sprĂ„k för utveckling av drivrutiner och kĂ€rnmoduler (stöd för Rust Ă€r inte aktiverat som standard och leder inte till att Rust inkluderas som ett obligatoriskt byggberoende för kĂ€rnan). Fram till version 1.85 (levereras i Debian 13) har kraven pĂ„ versionen av Rust som behövs för att bygga kĂ€rnkomponenter ökat. En experimentell Kconfig-alternativ CONFIG_RUST_INLINE_HELPERS har lagts till för att inbĂ€dda C-hjĂ€lpverktyg i Rust-kod under kompileringen (optimeringen har ökat prestandan för den blockdrivande null-drivaren med 2%). Makrot 'const_assert!' har lagts till. Funktionerna för modulerna 'sizes', 'clk', 'ptr', 'sync', 'error' har utvidgats.
    • I SCHED_EXT-mekanismen, som möjliggör anvĂ€ndning av BPF för att skapa CPU-schemalĂ€ggare, har den första möjligheten att skapa inbĂ€ddade schemalĂ€ggare (sub-scheduler) lagts till, genom vilka varje cgroup kan anvĂ€nda sin egen uppgiftsschemalĂ€ggare.
    • Optimeringen av swap-underdelningen har fortsatt. Den gamla strukturen swap_map har tagits bort och ersatts med mekanismen 'Swap Table'. Denna förĂ€ndring har förbĂ€ttrat prestandan och minskat minnesanvĂ€ndningen i swap-underdelningen.
    • I DAMON-systemet (Data Access MONitor), som möjliggör övervakning av processers Ă„tkomst till data i arbetsminnet (till exempel kan man ta reda pĂ„ vilka minnesomrĂ„den en process har Ă„tkomst till och vilka minnesomrĂ„den som förblir outnyttjade), har stödet för olika algoritmer för automatisk justering av kvoter lagts till.
    • I spĂ„rningssystemet har konceptet för externa ringbuffertar implementerats, vilket gör det möjligt att fĂ„ spĂ„rningsdata frĂ„n virtuella maskiner. Möjligheten har aktiverats i hypervisorer KVM och nVHE för att överföra spĂ„rningsdata frĂ„n gĂ€stsystemet till vĂ€rdsidan.
    • I RV-systemet (Runtime Verification), som Ă€r avsett för att verifiera korrektheten av högt tillförlitliga system, har komponenter för övervakning 'stall' lagts till för att spĂ„ra uppgifter vars utförande tillfĂ€lligt har avbrutits eller blockerats, samt 'deadline' för att analysera schemalĂ€ggarens beteende.
  • Virtualisering och sĂ€kerhet
    • Som standard har flaggan PROC_MEM_FORCE_PTRACE stĂ€llts in, vilket tillĂ„ter att omgĂ„ minnesbehörigheterna för en process genom filen /proc/PID/mem endast för processer som anvĂ€nder systemanropet ptrace() för felsökning.
    • En ny uppsĂ€ttning hookar har lagts till för LSM-moduler (Linux Security Module), vilket förenklar implementeringen av policyer för staplade filsystem, sĂ„som overlayfs. LSM har ocksĂ„ lagt till en hook för att hantera Ă„tkomst till Unix-sockets, som anvĂ€nds i LSM-modulen Landlock för att tilldela Ă„tkomstpolicyer till Unix-sockets.
    • I den inbyggda kryptobiblioteket lib/crypto, som erbjuder enklare och snabbare funktioner Ă€n det traditionella crypto API, har stöd för algoritmerna AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH och SM3 lagts till. Dokumentation för lib/crypto har ocksĂ„ lagts till.
    • Funktionen pKVM (Protected KVM) har implementerats för strikt isolering av anonym minne med hjĂ€lp av virtualiseringstillĂ€gg för AArch64-arkitekturen. I det hĂ€r lĂ€get undantas gĂ€stminnessidor frĂ„n den virtuella adressens tabell i vĂ€rdsystemet.
    • Stöd för den femte versionen av ARM:s virtuella avbrottskontroller (VGICv5 – ARM Virtual Generic Interrupt Controller v5) har lagts till i KVM-hypervisorn.
  • NĂ€tverkssystemet
    • För unix-sockets, som skapas av funktionen socket(), har stöd för utökade filattribut (xattr) "user.*" implementerats. TillĂ€mpningar inkluderar att sĂ€tta etiketter via utökade attribut till Unix-sockets som anvĂ€nds för IPC Varlink, för att sĂ€rskilja dem för inspektion och avbuggning av IPC:s funktioner med BPF-program. I systemd-journald Ă€r de utökade attributen tĂ€nkta att anvĂ€ndas för att definiera loggformatet kopplat till socketen /dev/log.
    • Stödet för UDP-Lite-protokollet (RFC 3828), som möjliggör leverans av paket med felaktig kontrollsumma med förvĂ€ntan pĂ„ att exempelvis delvis skadade ljud- och videodata kan Ă„terstĂ€llas pĂ„ codec-nivĂ„, har tagits bort. Protokollet togs bort eftersom ingen anvĂ€nder det.
    • Möjligheten att bygga IPv6-stacken som en kĂ€rnmodul har tagits bort, eftersom den inte anvĂ€ndes i praktiken (IPv6 antingen byggs in i kĂ€rnan eller stĂ€ngs helt av), men komplicerade underhĂ„llet eftersom mĂ„nga undersystem tvingades lĂ€gga till onödiga hanterare i hĂ€ndelse av att IPv6-modulen laddades ur.
  • Utrustning
    • En ny displaymotor (DC) för AMD:s APU-serie HD 7000 (Sea Islands, GCN 1.1) har lagts till i AMDGPU-drivrutinen.
    • I Nouveau-drivrutinen har inledande stöd för NVIDIA GA100 GPU baserad pĂ„ Ampere mikroarkitektur lagts till.
    • Arbetet med drm-drivrutinen (Direct Rendering Manager) Xe för GPU:er baserade pĂ„ Intel Xe-arkitekturen har fortsatt, vilken anvĂ€nds i Intel Arc-grafikkort och integrerad grafik, frĂ„n och med Tiger Lake-processorerna. Stöd för grafiksystemet i Intel Nova Lake-P-processorer har lagts till. Rensbara buffertobjekt (Purgeable Buffer Objects) har implementerats.
    • Fortsatt integration av komponenterna i Nova-drivrutinen för NVIDIA GPU med GSP-firmware, som anvĂ€nds frĂ„n NVIDIA GeForce RTX 2000-serien baserad pĂ„ Turing-mikroarkitektur. Drivrutinen Ă€r skriven i Rust. Inledande stöd för GPU baserade pĂ„ Turing-mikroarkitektur har lagts till.
    • DRM-drivrutinen corebootdrm har lagts till för att visa grafik via framebuffer frĂ„n CoreBoot-baserade firmware.
    • Stöd för ljudenheter ASoC AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP och WM8962 har lagts till. Stödet för ljudenheter med USB-grĂ€nssnitt har förbĂ€ttrats: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
      Stöd för ljudenheter ASoC AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP och WM8962 har lagts till. Stödet för ljudenheter med USB-grÀnssnitt har förbÀttrats: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
    • Drivern yogafan har lagts till för att övervaka hastigheten pĂ„ flĂ€kten i Lenovo Yoga, Legion och IdeaPad bĂ€rbara datorer.
    • Stöd för ARM-plattformar, SoC och enheter har lagts till: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 och ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
    • Stödet för de kontrollerade AHCI SATA och PCIe i SoC Baikal-T1 har avlĂ€gsnats, liksom drivrutiner för timer, minne, physmap, buss, hwmon, dwc och bt1-rom. Orsaken till detta avlĂ€gsnande anges vara avsaknaden av fortsatt support och ofullstĂ€ndig integration av Baikal-plattformens komponenter i kĂ€rnan, vars produktion i Ryssland stoppades i november 2025.
    • 12 drivrutiner för Ethernet-enheter med ISA och PCMCIA-grĂ€nssnitt, som tillverkades före 2002, har avlĂ€gsnats, dĂ„ ingen anvĂ€ndare Ă„terfunnits som anvĂ€nde dem i aktiva system. Dessutom har följande avlĂ€gsnats frĂ„n kĂ€rnan:
      ISDN-understöd, implementationerna av protokollen AX.25, CAIF och Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), drivrutinerna yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport och logibm (busmouse). Orsaken till avlÀgsnandet Àr avsaknaden av aktiva underhÄllare mitt i det ökande antalet felidentifieringar genom syzbot och AI-verktyg, vilka ingen tar pÄ sig att ÄtgÀrda, vilket resulterar i att hela belastningen av att ÄtgÀrda allvarliga problem vilar pÄ dem som underhÄller kÀrnans primÀra nÀtverksundersystem. Totalt har mer Àn 140 000 rader kod tagits bort.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster