UtgÄvan av kÀrnan Linux 5.13

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds utgÄvan av Linux-kÀrnan 5.13. Bland de mest anmÀrkningsvÀrda förÀndringarna finns: filsystemet EROFS, initialt stöd för Apple M1-chips, cgroup-kontrollern "misc", upphörande av stödet för /dev/kmem, stöd för nya GPU:er frÄn Intel och AMD, möjlighet att anropa kÀrnfunktioner direkt frÄn BPF-program, randomisering av kÀrnstacken för varje systemanrop, möjlighet att kompilera med Clang med CFI-skydd (Control Flow Integrity), LSM-modulen Landlock för ytterligare begrÀnsning av processer, ett virtuellt ljudkort baserat pÄ virtio och multi-shot-lÀget i io_uring.

I den nya versionen har 17189 korrigeringar accepterats frÄn 2150 utvecklare (det största i historien), storleken pÄ patchen Àr 60 MB (förÀndringarna berör 12996 filer, 794705 kodrader har lagts till, 399590 rader har tagits bort). Cirka 47% av alla förÀndringar som presenteras i 5.13 Àr relaterade till enhetsdrivrutiner, ungefÀr 14% av förÀndringarna rör uppdatering av hÄrdvaruspecifik kod, 13% Àr relaterade till nÀtverksstacken, 5% till filsystem och 4% till interna kÀrnsystem.

Huvudsakliga nyheter:

  • Disksubsystem, in- och utmatning och filsystem
    • Stöd för filsystemet EROFS (Enhanced Read-Only File System), föreslaget av Huawei för anvĂ€ndning pĂ„ partitioner tillgĂ€ngliga i read-only-lĂ€ge, har lagts till. Det nya filsystemet stöder lagring av data i komprimerad form och visar, jĂ€mfört med Ext4, liknande prestanda vid sekventiell lĂ€sning, men övertrĂ€ffar Ext4 mĂ„nga gĂ„nger vid slumpmĂ€ssig datatillgĂ„ng. Till exempel, vid en kompressionsnivĂ„ pĂ„ 4 och tester pĂ„ servern med hĂ„rddisken övertrĂ€ffade EROFS filsystemet Ext4 vid slumpmĂ€ssig lĂ€sning mer Ă€n sex gĂ„nger, och vid anvĂ€ndning av en Android-smartphone med Flash nĂ€stan tre gĂ„nger. Som i andra read-only filsystem har EROFS:s struktur förenklats avsevĂ€rt genom att vissa omrĂ„den av metadata, sĂ„som bitkartan för lediga block, har utelĂ€mnats.
    • För filsystemet SMB3 har optionen för montering "rasize" implementerats, vilket möjliggör bestĂ€mning av storleken pĂ„ fönster för förhandslĂ€sning (readahead) för att öka prestandan för vissa typer av belastningar.
    • I filsystemet ext4 har omskrivning av katalogobjekt vid borttagning av filer sĂ€kerstĂ€llts. I ext4 tillĂ„ts ocksĂ„ samtidig anvĂ€ndning av lĂ€ge utan kĂ€nslighet för stora och smĂ„ bokstĂ€ver och kryptering.
    • I FS exFAT har stöd lagts till för ioctl-kommandot FITRIM (discard), för att informera lagringsenheten om oanvĂ€nda block i filsystemet.
    • I FS XFS har möjligheten att Ă„terta plats frĂ„n den sista fördelningsgruppen lagts till, vilket blev det första steget i implementeringen av funktionen att minska storleken pĂ„ befintliga partitioner med FS XFS.
    • En ny systemanrop quotactl_path har lagts till, som skiljer sig frĂ„n quotactl genom att det gör det möjligt att hantera kvoteringar utan att anvĂ€nda en specialenhetsfil, utan genom att ange sökvĂ€gen till monteringspunkten för filsystemet.
    • Möjligheterna i fanotify-mekanismen har utvidgats för icke-privilegerade anvĂ€ndare. Till exempel, i likhet med inotify kan man utan rĂ€ttigheter SYS_CAP_ADMIN nu övervaka hĂ€ndelser som OPEN, ACCESS, MODIFY och CLOSE för filer och kataloger.
  • Minne och systemtjĂ€nster
    • En ny cgroup-kontroller har lagts till — "Misc" (CONFIG_CGROUP_MISC), avsedd för begrĂ€nsning och övervakning av skalĂ€ra resurser som kan hanteras med hjĂ€lp av en enkel rĂ€knare och begrĂ€nsas genom att ange maximalt tillĂ„tna vĂ€rden. Som exempel pĂ„ anvĂ€ndningen av den nya cgroup-kontroller nĂ€mns hantering av adressrumets identifierare, som anvĂ€nds i mekanismen AMD SEV (Secure Encrypted Virtualization).
    • I grĂ€nssnittet för asynkron in- och utmatning io_uring har ett "multi-shot"-lĂ€ge implementerats för POLL-förfrĂ„gningar, dĂ€r POLL inte tas bort efter att en hĂ€ndelse har genererats, utan förblir aktivt och kan generera flera hĂ€ndelser.
    • Kod som sĂ€kerstĂ€ller hantering av programvarugenererade avbrott i kĂ€rntrĂ„dar har överförts frĂ„n realtime-grenen av kĂ€rnan, vilket gör att de kan övertrumfas av processer med högre prioritet.
    • Ett internt bibliotek, netfs, har lagts till, dĂ€r typiska funktioner som anvĂ€nds i nĂ€tverksfilsystem har flyttats.
    • För PowerPC-arkitekturen har stöd för tidsutrymmen (time namespaces) implementerats, vilket möjliggör att anvĂ€nda sin egen tid inom en container.
    • För RISC-V-arkitekturen har stöd för kexec, crash dump, kprobe och körning av kĂ€rnan pĂ„ plats (execute-in-place) implementerats, vilket möjliggör exekvering direkt frĂ„n lagringsmedia utan kopiering till RAM.
    • I BPF-program för spĂ„rning har möjligheten att anvĂ€nda uppgiftslokal lagring (task-local storage) lagts till, vilket ger högre prestanda genom att binda data till en specifik BPF-handler.
    • En ny mekanism har implementerats för direkt anrop av kĂ€rnfunktioner frĂ„n BPF-program, vilket redan har anvĂ€nts i implementeringen av TCP-overloading-algoritmer. För att sĂ€kerstĂ€lla sĂ€kerheten mĂ„ste de anropade funktionerna uttryckligen definieras i en vit lista.
    • Funktionen ftrace har fĂ„tt en ny alternativ parameter func-no-repeats, som gör det möjligt att visa Ă„terkommande sekventiella funktionsanrop i form av en rĂ€knare.
    • Den systemanropade userfaultfd(), avsedd för att hantera page faults (Ă„tkomst till icke-allokerade minnessidor) i anvĂ€ndarens utrymme, har fĂ„tt möjligheten att hantera delvisa faults, dĂ€r den minnessidan Ă€r nĂ€rvarande men det inte finns nĂ„gon post i sidtabellen.
    • Stödet för den speciella filen /dev/kmem, som medger Ă„tkomst till hela kĂ€rnans adressutrymme, har upphört. Denna fil har bedömts vara förĂ„ldrad och orsakar sĂ€kerhetsproblem.
    • En ny drivrutin för att hantera kylning har implementerats för Intel-chip, vilket möjliggör sĂ€nkning av processorfrekvensen vid risk för överhettning. Till skillnad frĂ„n den befintliga mekanismen för TCC (Thermal Control Circuit) aktiverar den nya drivrutinen relativt vĂ€rden, dvs. kan sĂ€nka frekvensen vid en tidig ökning av temperaturen utan att vĂ€nta pĂ„ att ett kritiskt tröskelvĂ€rde överskrids.
  • Virtualisering och sĂ€kerhet
    • LSM-modulen för applikationsisolering Landlock ingĂ„r, vilket gör det möjligt att begrĂ€nsa interaktionen med den externa miljön för en grupp processer. Den Ă€r utvecklad med hĂ€nsyn till isoleringsmekanismer som XNU Sandbox, FreeBSD Capsicum och OpenBSD Pledge/Unveil. Åtkomstlogiken faststĂ€lls med hjĂ€lp av ett BPF-program, men i motsats till seccomp-bpf filtrerar Landlock inte systemanrop och deras argument, utan tillĂ„ter begrĂ€nsningar av anvĂ€ndningen av kĂ€rnobjekt, sĂ„som filhierarkier. Genom att anvĂ€nda Landlock kan vilken process som helst, inklusive oprivilegierade, effektivt isolera sig sjĂ€lv och förhindra att isoleringen bryts vid upptĂ€ckta sĂ„rbarheter eller skadliga förĂ€ndringar i applikationen. Landlock möjliggör att processer skapar skyddade isolerade miljöer, implementerade som ett extra lager ovanpĂ„ befintliga systemkontrollmekanismer. Till exempel kan ett program förbjuda Ă„tkomst till filer utanför arbetskatalogen.
    • Möjligheten att randomisera förskjutningar i kĂ€rnstacken vid hantering av systemanrop har lagts till för att försvĂ„ra stackattacker. KĂ€rnan i det föreslagna skyddet Ă€r valet av en slumpmĂ€ssig stackförskjutning vid varje systemanrop, vilket försvĂ„rar bestĂ€mningen av stacklayouten i minnet Ă€ven om information om adresser erhĂ„lls, eftersom den grundlĂ€ggande stackadressen Ă€ndras vid nĂ€sta systemanrop. För att aktivera randomisering föreslĂ„s kĂ€rnkommandoradsparametern "randomize_kstack_offset=on/off" och instĂ€llningen CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. Överhettningen uppskattas till cirka 1% prestationsförlust.
    • Stödet för att bygga kĂ€rnan med CFI (Control Flow Integrity) skyddsmekanism i Clang-kompilatorn har lagts till. CFI lĂ€gger till en kontroll före varje indirekt funktionsanrop för att identifiera vissa former av osĂ€ker beteende som potentiellt kan leda till att det normala utförandeordningen (control flow) störs som ett resultat av exploateringar som Ă€ndrar de minneslagrade funktionspekare. För att aktivera CFI föreslĂ„s instĂ€llningen CONFIG_CFI_CLANG.
    • I den tillhandahĂ„llna kĂ€rnservicen för lagring av krypteringsnycklar (key ring) omfattar mekanismen för betrodda nycklar (Trusted Keys) nu inte bara nycklar frĂ„n TPM-moduler utan ocksĂ„ frĂ„n TEE-miljöer (Trusted Execution Environment). För att hantera kĂ€llan till de betrodda nycklarna har en bootparameter "trusted.source" föreslagits. Dessutom har möjligheten att hantera betrodda nycklar i ASN.1-format lagts till.
    • En parameter har lagts till för förhandsladdning av listan över Ă„terkallade certifikat vid kĂ€rnstart. Problemet (CVE-2020-26541) med att ignorera certifikat i UEFI Secure Boot:s svartlista, som levererades i formatet EFI_CERT_X509_GUID, har Ă„tgĂ€rdats, vilket gjorde att systemet kunde startas med ett Ă„terkallat certifikat.
    • Stödet för verifiering av ECDSA-digitala signaturer baserade pĂ„ elliptiska kurvor har lagts till i kĂ€rnans kryptosystem.
    • Möjligheten att verifiera SELinux-policyer med hjĂ€lp av IMA (Integrity Measurement Architecture) har implementerats, vilket sĂ€kerstĂ€ller att en hashtabell upprĂ€tthĂ„lls för att kontrollera dataintegriteten.
  • NĂ€tverkssystemet
    • Stödet för WiMAX-teknologi har tagits bort, eftersom den inte lĂ€ngre anvĂ€nds i offentliga nĂ€tverk, och den enda drivrutin som fortfarande kan anvĂ€nda WiMAX i kĂ€rnan Ă€r den förĂ„ldrade drivrutinen Intel 2400m. Stödet för WiMAX i nĂ€tverkskonfiguratorn NetworkManager upphörde 2015. För nĂ€rvarande har WiMAX nĂ€stan helt ersatts av teknologier sĂ„som LTE, HSPA+ och Wi-Fi 802.11n.
    • En drivrutin för nĂ€tverksadaptern MANA (Microsoft Azure Network Adapter) har lagts till.
    • Stödet för Qualcomm QCN9074 trĂ„dlösa moduler med stöd för 802.11ax har lagts till i drivrutinen ath11k.
    • I drivrutinen iwlwifi har möjligheten för passiv skanning av kanaler i 6GHz-banden implementerats. För Ukraina har stöd för att aktivera/inaktivera IEEE 802.11ax baserat pĂ„ BIOS-instĂ€llningar lagts till.
    • Optimering av XDP (eXpress Data Path) har genomförts, vilket möjliggör manipulation av nĂ€tverkspaket i steget före deras bearbetning av Linux-kĂ€rnans nĂ€tverksstack. Genomförda tester visar en prestandaförbĂ€ttring av XDP pĂ„ 4-8%. För virtio-enheter kan prestandaförbĂ€ttringen av programvaruimplementeringen av AF_XDP nĂ„ 33%.
    • Stödet för utökade PROBE-meddelanden definierade i RFC 8335 har implementerats i ICMP.
    • Integrationen i MPTCP (MultiPath TCP) har fortsatt, ett protokolltillĂ€gg för TCP som möjliggör att TCP-anslutningar levererar paket samtidigt över flera rutter via olika nĂ€tverksgrĂ€nssnitt som Ă€r kopplade till olika IP-adresser. I den nya versionen har stöd för sockopt lagts till för att ange typiska TCP-alternativ. Möjlighet att Ă„terstĂ€lla enskilda subflöden har implementerats.
    • I netfilter har stöd för resurskontroll lagts till genom en enhetlig hierarki av cgroups v2.
    • I ethtool har ett grĂ€nssnitt implementerats för att lĂ€sa statistik frĂ„n IEEE MIB med stöd för mlx5 och bnxt. NĂ€tverksdrivrutiner fĂ„r lov att extrahera godtyckliga data frĂ„n SFP EEPROM genom att manipulera sidor i minnet istĂ€llet för att anvĂ€nda en koppling av offset+storlek.
  • Utrustning
    • Inledande stöd för Apples ARM-chip M1 har implementerats och omfattar avbrottskontroll, timer, UART, SMP, funktioner för in- och utdata samt MMIO. OmvĂ€nd ingenjörskonst av GPU:n Ă€r fortfarande inte fĂ€rdig, för att möjliggöra utdata finns stöd för framebuffer och konsol via en serieport.
    • Rensningen av kĂ€rnan frĂ„n gamla drivrutiner har fortsatt, drivrutinerna "gasket" (Google ASIC), "sysace", "umem" samt flera gamla drivrutiner för seriekontakter har tagits bort.
    • Efter 13 Ă„r i staging-grenen har drivrutinen "comedi" stabiliserats och flyttats till huvuduppsĂ€ttningen för att stödja datauppsamlingsenheter.
    • En drivrutin för GUD (Generic USB Display) har lagts till med implementation av en grundlĂ€ggande drivrutin för skĂ€rmar och TV-adaptrar anslutna via USB-grĂ€nssnittet. Drivrutinen tillhandahĂ„ller DRM-egenskaper (Direct Rendering Manager) för bildrotationshantering, ljusstyrning, Ă„tkomst till EDID, instĂ€llning av videolĂ€gen och anslutning av TV som kan anvĂ€ndas som grund för att skapa drivrutiner för specifika enheter.
    • En ljuddrivrutin "virtio" har lagts till med implementation av en virtuell ljudenhet som kan anvĂ€ndas i gĂ€stsystem för ljudutgĂ„ng och inspelning utan att krĂ€va Ă„tkomst till ljudkortet och utan emulering.
    • I drivrutinen amdgpu har stöd för GPU Aldebaran (gfx90a) lagts till. Inledande stöd för teknik för adaptiv synkronisering FreeSync för HDMI har aktiverats (tidigare tillgĂ€nglig för DisplayPort), vilket möjliggör justering av bildskĂ€rmsuppdateringsfrekvensen. Stöd för ASSR (Alternate Scrambler Seed Reset) har lagts till. En ioctl har lagts till för att begĂ€ra funktioner relaterade till videokodning och avkodning. En CONFIG_DRM_AMD_SECURE_DISPLAY-mod har lagts till för att upptĂ€cka förĂ€ndringar i skĂ€rmar som visar kritisk information. Stöd för energibesparingsmekanismen ASPM har lagts till.
    • I drivrutinen i915 för Intel-grafikkort har stöd för Intel Alderlake-S-chips lagts till. Stöd för eDP MSO (Embedded DisplayPort Multi-SST Operation) har lagts till.
    • Stöd för spelskontrollen Luna (Amazon) samt pekskĂ€rmarna Hycon HY46XX, ILITEK Lego Series och MStar MSG2638 har lagts till.

Samtidigt har den latinamerikanska stiftelsen för fri programvara skapat en helt fri version av kĂ€rna 5.11 — Linux-libre 5.11-gnu, rensad frĂ„n element av firmware och drivrutiner som innehĂ„ller icke-fria komponenter eller kodavsnitt vars tillĂ€mpning Ă€r begrĂ€nsad av tillverkaren. I den nya utgĂ„van har drivrutinen comedi stĂ€dats. StĂ€dningen av drivrutinerna cyclades, isicom tty och i2400m wimax har upphört, och dessa har tagits bort frĂ„n kĂ€rnan. Koden för stĂ€dning av blobbar i drivrutiner och subsystem som amdgpu, i915 csr, r8152 usb, mhi bus, x86 pekskĂ€rm och qualcomm arm64 har uppdaterats.

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