Release av Linux-kÀrnan 5.11

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds release av Linux-kÀrnan 5.11. Bland de mest anmÀrkningsvÀrda förÀndringarna finns: stöd för Intel SGX-enklaver, en ny mekanism för avlyssning av systemanrop, en virtuell auxiliary-buss, förbud mot att kompilera moduler utan MODULE_LICENSE(), ett snabbt filterlÀge för systemanrop i seccomp, avslutandet av stödet för ia64-arkitekturen, överflyttning av WiMAX-teknologin till "staging"-grenen, samt möjligheten att inkapsla SCTP i UDP.

I den nya versionen har 15480 korrigeringar godkÀnts av 1991 utvecklare, patchstorleken Àr 72 MB (Àndringarna omfattade 12090 filer, 868025 kodrader lades till och 261456 kodrader togs bort). Cirkap 46 % av alla förÀndringar i 5.11 relaterar till enhetsdrivrutiner, ungefÀr 16 % av förÀndringarna gÀller uppdatering av kod specifik för hÄrdvaruarkitekturer, 13 % Àr relaterat till nÀtverksstacken, 3 % till filsystem och 4 % till interna subsystem i kÀrnan.

Huvudsakliga nyheter:

  • Disksubsystem, in- och utmatning och filsystem
    • I Btrfs har flera monteringsalternativ lagts till för anvĂ€ndning vid datarĂ€ddning frĂ„n skadad FS: "rescue=ignorebadroots" för montering trots skador pĂ„ vissa rottrĂ€d (extent, uuid, data reloc, device, csum, free space), "rescue=ignoredatacsums" för att inaktivera kontrollsummekontroll för data och "rescue=all" för att samtidigt aktivera lĂ€gena 'ignorebadroots', 'ignoredatacsums' och 'nologreplay'. Stödet för monteringsalternativet "inode_cache" har upphört, vilket tidigare varit avskrivet. Kodförberedelse för att implementera stöd för block med metadata och data, som Ă€r mindre Ă€n en sida (PAGE_SIZE), samt stöd för zonad allokering har genomförts. Obufferade (Direct IO) förfrĂ„gningar har överförts till iomap-infrastrukturen. Prestandan hos flera operationer har optimerats, och i vissa fall kan hastigheten öka med tiotals procent.
    • I XFS har en flagga "needsrepair" implementerats, som signalerar behovet av Ă„terstĂ€llning. NĂ€r denna flagga sĂ€tts kan FS inte monteras förrĂ€n flaggan har Ă„terstĂ€llts av verktyget xfs_repair.
    • I Ext4 har endast bugfixar och optimeringar föreslagits, samt en stĂ€dning av koden har genomförts.
    • Återexport av filsystem som Ă€r monterade över NFS har godkĂ€nts (dvs. en partition monterad via NFS kan nu exporteras via NFS och anvĂ€ndas som mellanlagring).
    • I systemanropet close_range() har en ny option CLOSE_RANGE_CLOEXEC lagts till, som möjliggör stĂ€ngning av fildescriptorer i close-on-exec-lĂ€ge.
    • Den nya filsystemet F2FS har fĂ„tt nya ioctl()-anrop som gör det möjligt för anvĂ€ndarutrymmet att hantera vilka filer som sparas i komprimerad form. En monteringsoption "compress_mode=" har lagts till för att vĂ€lja var komprimeringshanteraren ska placeras, antingen i kĂ€rnan eller i anvĂ€ndarutrymmet.
    • Det har blivit möjligt för icke-privilegierade processer att montera Overlayfs genom att anvĂ€nda ett separat anvĂ€ndar-ID-omrĂ„de (user namespace). En fullstĂ€ndig kodgranskning har genomförts för att kontrollera att sĂ€kerhetsmodellen följs. I Overlayfs har det ocksĂ„ lagts till stöd för att köras med kopior av filsystembilder genom en valfri avstĂ€ngning av UUID-kontroll.
    • Filsystemet Ceph har fĂ„tt stöd för protokollet msgr2.1, som tillĂ„ter anvĂ€ndning av AES-GCM-algoritmen för överföring av data i krypterad form.
    • I dm-multipath-modulen har stöd för IO-affinitet lagts till vid val av vĂ€gar för in- och utdataförfrĂ„gningar.
  • Minne och systemtjĂ€nster
    • En ny mekanism för att fĂ„nga systemanrop baserad pĂ„ prctl() har lagts till, vilket möjliggör generering av undantag frĂ„n anvĂ€ndarutrymmet vid anrop av specifika systemanrop samt emulering av deras utförande. Den hĂ€r funktionen Ă€r efterfrĂ„gad i Wine och Proton för emulering av Windows-systemanrop, vilket krĂ€vs för att sĂ€kerstĂ€lla kompatibilitet med spel och program som direkt gör systemanrop som kringgĂ„r Windows API (till exempel för att skydda mot otillĂ„ten anvĂ€ndning).
    • I systemanropet userfaultfd(), som Ă€r avsett för att hantera sidfel (access till icke allokerade minnessidor) i anvĂ€ndarutrymmet, har möjlighet lagts till att stĂ€nga av undantagsbehandling som uppstĂ„r pĂ„ kĂ€rnnivĂ„ för att komplicera utnyttjandet av vissa sĂ„rbarheter.
    • I BPF-subsystemet har stöd för uppgiftslokal lagring (task-local storage) lagts till, vilket ger koppling av data till en specifik BPF-behandlare.
    • FullstĂ€ndigt omarbetad minnesanvĂ€ndningsrapportering för program med BPF – en cgroup-kontroller föreslĂ„s för att hantera minnesanvĂ€ndningen i BPF-objekt istĂ€llet för memlock rlimit.
    • I BTF (BPF Type Format) mekanismen, som tillhandahĂ„ller information för typkontroller i BPF-pseudokod, har stöd för kĂ€rnmoduler implementerats.
    • I grĂ€nssnittet för asynkron I/O io_uring har stöd för systemanropen shutdown(), renameat2() och unlinkat() lagts till. Vid anrop av io_uring_enter() har möjlighet att ange en timeout lagts till (för att kontrollera stöd för argumentet som anger timeout kan flaggan IORING_FEAT_EXT_ARG anvĂ€ndas).
    • Arkitekturen ia64, som anvĂ€nds i Intel Itanium-processorer, har flyttats till kategorin övergivna ('orphaned'), vilket innebĂ€r att testningen har upphört. Hewlett Packard Enterprise har slutat ta emot bestĂ€llningar pĂ„ ny Itanium-hĂ„rdvara, och Intel gjorde det redan förra Ă„ret.
    • Stödet för system baserade pĂ„ MicroBlaze-arkitekturen utan minneshanteringsenhet (MMU) har upphört. SĂ„dana system förekommer sĂ€llan idag.
    • För MIPS-arkitekturen har stöd för tĂ€ckningstestning (coverage testing) lagts till med hjĂ€lp av verktyget gcov.
    • Stöd för den virtuella bussen auxiliary har lagts till för interaktion med multifunktionella enheter som kombinerar funktionalitet som krĂ€ver olika drivrutiner (till exempel nĂ€tverkskort med stöd för Ethernet och RDMA). Bussen kan anvĂ€ndas för att tilldela primĂ€r och sekundĂ€r drivrutin för enheten, nĂ€r det Ă€r problematiskt att anvĂ€nda MFD (Multi-Function Devices) subsystemet.
    • För RISC-V-arkitekturen har stöd för CMA (Contiguous Memory Allocator) lagts till, vilket Ă€r optimerat för att allokera stora sammanhĂ€ngande minnesomrĂ„den med hjĂ€lp av teknik för sidflyttningar. För RISC-V har ocksĂ„ metoder för att begrĂ€nsa Ă„tkomst till /dev/mem och redovisning av tid för avbrottshantering implementerats.
    • För 32-bitars ARM-system har stöd för felsökningsverktyget KASan (Kernel address sanitizer) lagts till, vilket möjliggör identifiering av minnesfel. För 64-bitars ARM har implementeringen av KASan flyttats till att anvĂ€nda MTE-taggar (MemTag).
    • Ett systemanrop epoll_pwait2() har lagts till, vilket möjliggör anvĂ€ndning av timeouter med nanosekundsnoggrannhet (epoll_wait-anropet hanterar millisekunder).
    • I byggsystemet visas nu ett felmeddelande vid försök att bygga inladdade kĂ€rnmoduler dĂ€r licensen inte har definierats med makrot MODULE_LICENSE(). Fel under bygget kommer ocksĂ„ att orsakas av anvĂ€ndning av makrot EXPORT_SYMBOL() för statiska funktioner.
    • Stöd har lagts till för att mappa GEM-objekt frĂ„n minne som anvĂ€nds för in- och utdata, vilket har ökat hastigheten pĂ„ framebufferhantering pĂ„ vissa arkitekturer.
    • Stödet för Qt4 har upphört i Kconfig (stöd för Qt5, GTK och Ncurses kvarstĂ„r).
  • Virtualisering och sĂ€kerhet
    • Stöd för snabbresponslĂ€ge har lagts till i systemanropet seccomp(), vilket möjliggör mycket snabb bestĂ€mning av om ett visst systemanrop Ă€r tillĂ„tet eller förbjudet baserat pĂ„ en kopplad behörighetstabell (constant-action bitmap) som inte krĂ€ver körning av BPF-hanterare.
    • KĂ€rnkomponenter har integrerats för att skapa och hantera enklaver baserade pĂ„ Intel SGX-teknologin (Software Guard eXtensions), vilket gör det möjligt för applikationer att köra kod i isolerade, krypterade minnesomrĂ„den, medan Ă„tkomsten för övriga system Ă€r begrĂ€nsad.
    • Inom ramen för initiativet att begrĂ€nsa anvĂ€ndarutrymmets Ă„tkomst till MSR-register (model-specific register) har skrivning till registret MSR_IA32_ENERGY_PERF_BIAS förbjöd, vilket möjliggör Ă€ndring av processorernas energieffektivitet ("normal", "prestanda", "energibesparing").
    • Möjligheten att inaktivera migration av högprioriterade uppgifter mellan CPU:er har flyttats frĂ„n kernel-rt-grenen för realtidsystem.
    • För ARM64-system har möjligheten tillĂ€mpats för att anvĂ€nda MTE-taggar (MemTag, Memory Tagging Extension) för minnesadresser av signalhanterare. AnvĂ€ndning av MTE aktiveras genom att ange alternativet SA_EXPOSE_TAGBITS i sigaction() och tillĂ„ter att kontrollera korrekt anvĂ€ndning av pekare för att blockera exploatering av sĂ„rbarheter orsakade av Ă„tkomst till redan frigivna minnesblock, buffertöverflöden, Ă„tkomster innan initialisering och anvĂ€ndning utanför den aktuella kontexten.
    • Parametern "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING" har lagts till, vilket tillĂ„ter dm-verity-subsystemet att verifiera hash-signaturer av certifikat som placeras i det sekundĂ€ra nyckel-lageret (keyring). I praktiken gör instĂ€llningen det möjligt att verifiera inte bara certifikat inbyggda i kĂ€rnan utan ocksĂ„ certifikat som laddas under drift, vilket ger möjlighet att uppdatera certifikat utan att uppdatera hela kĂ€rnan.
    • I User-mode Linux har stöd för suspend-to-idle-lĂ€get, vilket gör det möjligt att frysa miljön och anvĂ€nda signalen SIGUSR1 för att Ă„tergĂ„ frĂ„n vilolĂ€ge.
    • I mekanismen virtio-mem, som möjliggör hot-pluggning och hot-unplugging av minne till virtuella maskiner, har stöd för Big Block Mode (BBM) lagts till, vilket ger möjlighet att överföra eller ta bort minne i block som överstiger kĂ€rnans blockstorlek, nĂ„got som Ă€r nödvĂ€ndigt för att optimera VFIO i QEMU.
    • I kĂ€rnnivĂ„implementeringen av TLS har stöd för CHACHA20-POLY1305-krypteringen lagts till.
  • NĂ€tverkssystemet
    • För 802.1Q (VLAN) har ett mekanism för Connectivity Fault Management (CFM) realiserats, vilket möjliggör identifiering, verifiering och isolering av fel i nĂ€tverk med virtuella bryggor. Till exempel kan CFM anvĂ€ndas för att lokalisera problem i nĂ€tverk som omfattar flera oberoende organisationer, vars anstĂ€llda endast har Ă„tkomst till sin egen utrustning.
    • Stöd för inkapsling av SCTP-paket i UDP-paket (RFC 6951) har lagts till, vilket gör det möjligt att anvĂ€nda SCTP i nĂ€tverk med gamla adresstranslatorer som inte direkt stöder SCTP, samt att implementera SCTP pĂ„ system som inte ger direkt Ă„tkomst till IP-nivĂ„n.
    • Implementeringen av WiMAX-teknologin har flyttats till staging och planeras för framtida borttagning om det inte visar sig finnas anvĂ€ndare som behöver WiMAX. WiMAX anvĂ€nds inte lĂ€ngre i offentliga nĂ€tverk och i kĂ€rnan Ă€r den enda drivrutinen för WiMAX den förĂ„ldrade Intel 2400m-drivrutinen. Stödet för WiMAX i nĂ€tverkskonfiguratorn NetworkManager avbröts 2015. För nĂ€rvarande har WiMax nĂ€stan helt ersatts av teknologier som LTE, HSPA+ och Wi-Fi 802.11n.
    • Arbete har utförts för att optimera prestandan av hanteringen av inkommande TCP-trafik i zerocopy-lĂ€get, det vill sĂ€ga utan extra kopiering till nya buffrar. För medelstor trafik som strĂ€cker sig över tiotals eller flera hundra kilobyte data Ă€r anvĂ€ndningen av zerocopy istĂ€llet för recvmsg() markant mer effektivt. Till exempel har de genomförda Ă€ndringarna ökat effektiviteten i hanteringen av RPC-stiltrafik med meddelanden pĂ„ 32 kB med zerocopy med 60-70 %.
    • Nya ioctl()-anrop har lagts till för att skapa nĂ€tverksbryggor som tĂ€cker flera PPP-kanaler. Den föreslagna funktionen gör att ramar kan flyttas frĂ„n en kanal till en annan, till exempel frĂ„n PPPoE till en PPPoL2TP-session.
    • Integrationen med MPTCP (MultiPath TCP) har fortsatt, en utvidgning av TCP-protokollet för att organisera TCP-anslutningen med leverans av paket samtidigt via flera vĂ€gar genom olika nĂ€tverksgrĂ€nssnitt som Ă€r kopplade till olika IP-adresser. I den nya utgĂ„van har stöd för ADD_ADDR-alternativet implementerats för att annonsera tillgĂ€ngliga IP-adresser som kan anslutas vid tillĂ€gg av nya strömmar till en befintlig MPTCP-anslutning.
    • Möjligheten att konfigurera Ă„tgĂ€rder vid övertrĂ€delse av budgeten för anslutningspolling (busy-polling) har lagts till. Det tidigare tillgĂ€ngliga lĂ€get SO_BUSY_POLL innebar övergĂ„ng till softirq nĂ€r budgeten var slut. För applikationer som behöver fortsĂ€tta anvĂ€nda polling föreslĂ„s ett nytt alternativ SO_PREFER_BUSY_POLL.
    • I IPv6 har stöd för SRv6-lĂ€gena End.DT4 och End.DT6 implementerats, som anvĂ€nds för att skapa fleranvĂ€ndar-IP-Ă„tkomst pĂ„ IPv4 L3 VPN och VRF-enheter (Virtual Routing and Forwarding).
    • I Netfilter har implementeringen av uttryck för set-enheter enhetliggjorts, vilket möjliggör att ange flera uttryck för varje element i set-listor.
    • I det trĂ„dlösa 802.11-stacket har API:er för att konfigurera SAR-effektbegrĂ€nsningar, samt parametrarna AE PWE och HE MCS lagts till. I Intel iwlwifi-drivrutinen har stöd för 6GHz-bandet (Ultra High Band) lagts till. I Qualcomm Ath11k-drivrutinen har stöd för snabbt initialt lĂ€nkupprĂ€ttande (FILS, Fast Initial Link Setup, standardiserat som IEEE 802.11ai) lagts till, vilket eliminerar fördröjningar vid roaming vid migration frĂ„n en Ă„tkomstpunkt till en annan.
  • Utrustning
    • I amdgpu-drivrutinen har stöd för AMD APU "Green Sardine" (Ryzen 5000) och GPU "Dimgrey Cavefish" (Navi 2) implementerats, liksom grundlĂ€ggande stöd för AMD Van Gogh APU med Zen 2-kĂ€rna och RDNA 2 GPU (Navi 2). Stöd för nya identifierare för APU Renoir (baserat pĂ„ CPU Zen 2 och GPU Vega) har lagts till.
    • I drivrutinen i915 för Intel-grafikkort har stöd för teknologin IS (Integer scaling) implementerats med en filterlösning för att öka skalan med beaktande av nĂ€rliggande pixlar (Nearest-neighbor-interpolering) för att bestĂ€mma fĂ€rgen pĂ„ saknade pixlar. Stödet för de diskreta Intel DG1-korten har utökats. Stödet för teknologin "Big Joiner" har implementerats, som har funnits sedan Ice Lake / Gen11-kretsarna och möjliggör anvĂ€ndning av en transkoder för att bearbeta tvĂ„ strömmar, exempelvis för utmatning till en 8K-skĂ€rm via en DisplayPort. En asynkron vĂ€xlingslĂ€ge mellan tvĂ„ buffertar i videominne (async flip) har lagts till.
    • I drivrutinen nouveau har grundlĂ€ggande stöd för NVIDIA GPU:er baserade pĂ„ mikroarkitekturen "Ampere" (GA100, GeForce RTX 30xx) lagts till, som för nĂ€rvarande Ă€r begrĂ€nsat till funktioner för att hantera videolĂ€gen.
    • Stöd för protokollet 3WIRE, som anvĂ€nds i LCD-paneler, har lagts till. Stöd har lagts till för paneler novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 och ABT Y030XX067A 3.0. SĂ€rskilt kan nĂ€mnas stödet för panelerna till smartphones OnePlus 6 och 6T, vilket möjliggjorde laddning av enheter med ett oförĂ€ndrat kĂ€rna.
    • Stöd för den första diskreta USB4-hostkontrollern Intel Maple Ridge har lagts till.
    • Stöd för ljudcodecs Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI och XCVR, Realtek RT715 och Qualcomm SM8250 har lagts till.
    • Stöd har lagts till för ARM-plattformar, enheter och plattformar: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, Nuvoton NPCM730, Marvell Armada 382, Mikrotik baserade pĂ„ Marvell Prestera 98DX3236, servrar med Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios64, Engicam PX30.Core.
    • Inbyggt stöd för spelkonsolen Ouya baserad pĂ„ NVIDIA Tegra 3.

Samtidigt har den Latinamerikanska stiftelsen för fri programvara skapat en helt fri variant av kĂ€rna 5.11 – Linux-libre 5.11-gnu, som Ă€r rensad frĂ„n element i firmware och drivrutiner som innehĂ„ller icke-fria komponenter eller kodavsnitt vars anvĂ€ndning Ă€r begrĂ€nsad av tillverkaren. I den nya utgĂ„van har drivrutiner för qat_4xxx (crypto), lt9611uxcm (dsi/hdmi-brygga), ccs/smia++ (sensor), ath11k_pci, nxp ljudöverföring och mhi pci-kontroller rensats. Koden för att rensa bort blobbar i drivrutinerna och subsystemen amdgpu, btqca, btrtl, btusb, i915 csr har uppdaterats. Nya blobbar i m3 rproc, idt82p33 ptp-klocka och qualcomm arm64 har stĂ€ngts av.

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