Versione di u kernel Linux 5.2

Dopu dui mesi di sviluppu, Linus Torvalds introduttu liberazione di u kernel Linux 5.2. Trà i cambiamenti più notevoli: u modu operativu Ext4 hè insensibile à u casu, u sistema separatu chjama per a muntagna di u sistema di fugliale, i drivers per GPU Mali 4xx/ 6xx/7xx, a capacità di trattà i cambiamenti in i valori sysctl in i prugrammi BPF, device-mapper. modulu dm-dust, prutezzione contra attacchi MDS, supportu per Sound Open Firmware per DSP, ottimisazione di u rendiment BFQ, purtendu u sottusistema PSI (Pressure Stall Information) à a pussibilità di usu in Android.

A nova versione include 15100 correzioni da 1882 sviluppatori,
patch size - 62 MB (cambiamenti affettati 30889 file, 625094 linee di codice sò state aghjunte, 531864 linee sò state eliminate). Circa 45% di tutti i presentati in 5.2
i cambiamenti sò ligati à i cunduttori di u dispositivu, circa 21% di i cambiamenti anu
attitudine versu l'aghjurnamentu di codice specificu à l'architetture hardware, 12%
in relazione à a pila di rete, 3% à i sistemi di schedari è 3% à l'internu
sottosistemi di kernel. 12.4% di tutti i cambiamenti sò stati preparati da Intel, 6.3% da Red Hat, 5.4% da Google, 4.0% da AMD, 3.1% da SUSE, 3% da IBM, 2.7% da Huawei, 2.7% da Linaro, 2.2% da ARM. , 1.6 % - Oracle.

menu innovazioni:

  • Sottosistema di discu, I / O è sistemi di fugliale
    • Aggiuntu per Ext4 supportu travaglià senza distingue u casu di caratteri in nomi di schedari, chì hè attivatu solu in relazione à i cartulari vioti individuali cù u novu attributu "+ F" (EXT4_CASEFOLD_FL). Quandu stu attributu hè stabilitu nantu à un annuariu, tutte l'operazioni cù i schedari è i subdirectorii in l'internu seranu realizati senza piglià in contu u casu di caratteri, cumpresu u casu serà ignoratu quandu si cerca è apre i schedari (per esempiu, i schedari Test.txt, test.txt è test.TXT in tali repertorii seranu cunsiderate u stessu). Per automaticamente, u sistema di schedari cuntinueghja à esse case-sensitive, cù l'eccezzioni di cartulari cù l'attributu "chattr + F";
    • E funzioni per processà i caratteri UTF-8 in i nomi di file, chì sò utilizati per fà operazioni di paraguni è nurmalizazione di stringhe, sò state unificate;
    • XFS aghjusta infrastruttura per u monitoraghju di a salute di u sistema di fugliale è un novu ioctl per dumandà u statu di salute. Una funzione sperimentale hè stata implementata per verificà i contatori di superblocchi in linea.
    • Aggiuntu novu modulu device-mapper "dm-polvere", chì permette di simule l'apparizione di blocchi cattivi nantu à i media o errori quandu leghje da u discu. U modulu permette di simplificà a debugging è a prova di l'applicazioni è di diversi sistemi di almacenamento in fronte di eventuali fallimenti;
    • Compiu Ottimisazioni di rendiment significativu per u BFQ I/O scheduler. In cundizzioni di alta carica I/O, ottimisazioni fatti permettenu Reduce u tempu di l'operazioni cum'è lanciazione di applicazioni finu à 80%.
    • Aghjunghjite una seria di chjami di sistema per a muntagna di sistemi di fugliale: fsopen(), open_tree(), fspick (), fsmount(), fsconfig() и move_mount (). Queste chjamate di u sistema permettenu di processà separatamente e diverse fasi di a muntagna (processà u superbloccu, uttene infurmazione nantu à u sistema di fugliale, muntate, attaccate à u puntu di muntagna), chì anu prima realizatu utilizendu a chjama di u sistema mount() cumuni. Chjami separati furniscenu l'abilità di realizà scenarii di muntagna più cumplessi è eseguisce operazioni separati, cum'è a ricunfigurazione di u superbloccu, l'attivazione di l'opzioni, u cambiamentu di u puntu di muntagna è u muvimentu in un spaziu di nomi diversu. Inoltre, u prucessu separatu permette di determinà accuratamente i motivi per a pruduzzioni di codici d'errore è stabilisce parechje fonti per sistemi di schedari multi-layer, cum'è overlayfs;
    • Una nova operazione IORING_OP_SYNC_FILE_RANGE hè stata aghjunta à l'interfaccia per io_uring I/O asincronu, chì esegue azzioni equivalenti à una chjama di sistema. sync_file_range(), è ancu implementatu a capacità di registrà eventfd cù io_uring è riceve notificazioni nantu à a fine di l'operazioni;
    • Per u sistema di schedariu CIFS, u FIEMAP ioctl hè statu aghjuntu, chì furnisce una mappatura di l'estensione efficiente, è ancu supportu per i modi SEEK_DATA è SEEK_HOLE;
    • In u subsistema FUSE prupostu API per a gestione di a cache di dati;
    • Btrfs hà ottimisatu l'implementazione di qgroups è hà migliuratu a velocità di esecuzione di fsync per i fugliali cù parechje ligami duri. U codice di verificazione di l'integrità di e dati hè statu migliuratu, chì avà piglia in contu possibili danni à l'infurmazioni in RAM prima di lavà e dati à u discu;
    • CEPH hà aghjustatu supportu per l'esportazione di snapshots via NFS;
    • L'implementazione di l'installazione di NFSv4 in u modu "soft" hè stata migliurata (se un errore si trova in l'accessu à u servitore in u modu "soft", una chjama à torna immediatamente un codice d'errore, è in modu "duru" u cuntrollu ùn hè micca datu finu à u FS. dispunibilità o timeout hè restauratu). A nova liberazione furnisce una gestione più precisa di u timeout, una ricuperazione di crash più veloce, è una nova opzione di muntatura "softerr" chì permette di cambià u codice d'errore (ETIMEDOUT) tornatu quandu si verifica un timeout;
    • L'API nfsdcld, cuncepitu per seguità u statu di i clienti NFS, permette à u servitore NFS di seguità currettamente u statu di u cliente à u reboot. Cusì, u daemon nfsdcld pò avà agisce cum'è un gestore nfsdcltrack;
    • Per l'AFS aghjustatu emulazione di blocchi di intervalli di byte in i file (Locking Range di Byte);
  • Virtualizazione è Sicurezza
    • U travagliu hè statu fattu per eliminà i lochi in u kernel chì permettenu l'esekzione di codice da e zoni di memoria riflessa scrivibile, chì permette di bluccà i buchi putenziali chì puderanu esse sfruttati durante un attaccu;
    • Un novu paràmetru di linea di cummanda di u kernel "mitigations=" hè statu aghjuntu, chì furnisce un modu simplificatu per cuntrullà l'abilitazione di certe tecniche per pruteggiri contra e vulnerabilità associate à l'esekzione speculativa di l'istruzzioni nantu à u CPU. Passà "mitigations = off" disattiva tutti i metudi esistenti, è u modu predeterminatu "mitigations = auto" permette a prutezzione, ma ùn affetta micca l'usu di Hyper Threading. U modu "mitigazioni = auto, nosmt" disattiva ancu Hyper Threading se necessariu da u metudu di prutezzione.
    • Aggiuntu supportu per a firma digitale elettronica secondu GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), sviluppatu Vitaly Chikunov da Basalt SPO. Aggiuntu supportu per AES128-CCM à l'implementazione TLS nativa. Aghjunghje supportu per l'algoritmi AEAD à u modulu crypto_simd;
    • In Kconfig aghjustatu una sezione separata di "hardening kernel" cù opzioni per rinfurzà a prutezzione di u kernel. Attualmente, a nova sezione cuntene solu paràmetri per attivà i plugins di verificazione di GCC;
    • U codice kernel hè quasi mandatu da dichjarazioni di casu chì ùn sò micca rotte in switch (senza ritornu o pause dopu ogni casu di bloccu). Resta à riparà 32 di 2311 casi di tali usu di switch, dopu chì serà pussibule di utilizà u modu "-Wimplicit-fallthrough" quandu custruisce u kernel;
    • Per l'architettura PowerPC, u supportu per i meccanismi di hardware per limità i camini d'accessu à u kernel indesevule à e dati in u spaziu di l'utilizatori hè statu implementatu;
    • Aggiuntu codice di bloccu attacchi Classe MDS (Microarchitectural Data Sampling) in i processori Intel. Pudete cuntrollà se un sistema hè vulnerabile à vulnerabilità attraversu a variabile SysFS "/sys/devices/system/cpu/vulnerabilities/mds". Dispunibule dui modi di prutezzione: piena, chì richiede un microcode aghjurnatu, è bypass, chì ùn guarantisci micca cumplettamente a liberazione di i buffer di CPU quandu u cuntrollu hè trasferitu à u spaziu di l'utilizatori o à u sistema invitatu. Per cuntrullà i modi di prutezzione, u paràmetru "mds=" hè statu aghjuntu à u kernel, chì pò piglià i valori "full", "full,nosmt" (+ disable Hyper-Threads) è "off";
    • Nant'à i sistemi x86-64, a prutezzione di "stack guard-page" hè stata aghjunta per IRQ, meccanismi di debugging è gestori d'eccezzioni, l'essenza di quale hè a sustituzione di pagine di memoria à u cunfini cù a pila, accede chì porta à a generazione di un eccezzioni (page-fault);
    • Added sysctl setting vm.unprivileged_userfaultfd, chì cuntrolla l'abilità di i prucessi senza privilege per utilizà a chjama di u sistema userfaultfd ();
  • Sottusistema di rete
    • Aggiuntu Supportu di gateway IPv6 per rotte IPv4. Per esempiu, pudete avà specificà e regule di routing cum'è "ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0";
    • Per ICMPv6, ioctl chjama icmp_echo_ignore_anycast è icmp_echo_ignore_multicast sò implementati per ignorà ICMP ECHO per anycast è
      indirizzi multicast. Aggiuntu a capacità di limità l'intensità di u processu di pacchetti ICMPv6;

    • Per u protocolu di maglia BATMAN (Better Approach To Mobile Adhoc Networking), chì permette a creazione di rete decentralizate in quale ogni nodu hè cunnessu cù i nodi vicini, aghjustatu supportu per a trasmissione da multicast à unicast, è ancu a capacità di cuntrullà via sysfs;
    • In ethtool aghjuntu un novu paràmetru Fast Link Down, chì vi permette di riduce u tempu necessariu per riceve infurmazioni nantu à un avvenimentu di link down per 1000BaseT (in cundizioni normali u ritardu hè finu à 750ms);
    • Apparsu uppurtunità ubligatoriu di i tunnel Foo-Over-UDP à un indirizzu specificu, interfaccia di rete o socket (precedentemente u ligame era fattu solu da una maschera cumuni);
    • In a pila wireless assicuratu a pussibilità di implementà handlers
      OWE (Opportunistic Wireless Encryption) in u spaziu di l'utilizatori;

    • In Netfilter, u supportu per a famiglia di l'indirizzu inet hè statu aghjuntu à i catene nat (per esempiu, pudete avà aduprà una regula di traduzzione per processà ipv4 è ipv6, senza separà e regule per ipv4 è ipv6);
    • In netlink aghjuntu u regimu strettu per una verificazione stretta di a correttezza di tutti i missaghji è l'attributi, in quale a dimensione prevista di l'attributi ùn hè micca permessa di superà è l'aghjunzione di dati supplementari à a fine di i missaghji hè pruibita;
  • Memoria è servizii di sistema
    • A bandiera CLONE_PIDFD hè stata aghjunta à a chjama di u sistema clone (), quandu hè specificatu, u descriptor di file "pidfd" identificatu cù u prucessu di u zitellu creatu hè tornatu à u prucessu parent. Stu descrittore di u schedariu, per esempiu, pò esse usatu per mandà signalazioni senza teme di curriri in una cundizione di razza (subitu dopu à mandà u signale, u PID di destinazione pò esse liberatu per via di a terminazione di u prucessu è occupatu da un altru prucessu);
    • Per a seconda versione di cgroups, a funziunalità di u cuntrollu di u congelatore hè stata aghjunta, cù quale pudete piantà di travaglià in un cgroup è liberà temporaneamente alcune risorse (CPU, I / O, è potenzalmentu ancu memoria) per fà altre attività. A gestione hè fatta attraversu i schedarii di cuntrollu cgroup.freeze è cgroup.events in l'arburu cgroup. L'entrata 1 in cgroup.freeze congela i prucessi in u cgroup attuale è tutti i gruppi di i zitelli. Siccomu a congelazione dura un pocu di tempu, un schedariu cgroup.events supplementu hè furnitu per mezu di quale pudete scopre nantu à a fine di l'operazione;
    • Secured l'esportazione di l'attributi di memoria attaccati à ogni node in sysfs, chì permette di determinà da u spaziu di l'utilizatori a natura di processà i banche di memoria in sistemi cù memoria eterogenea;
    • U subsistema PSI (Pressure Stall Information) hè statu migliuratu, chì permette di analizà l'infurmazioni nantu à u tempu d'attesa per riceve diverse risorse (CPU, memoria, I / O) per certi travaglii o setti di prucessi in un cgroup. Aduprendu PSI, i gestori di u spaziu di l'utilizatori ponu stimà più precisamente u livellu di carica di u sistema è i mudelli di rallentazione cumparatu cù Load Average. A nova versione furnisce supportu per stabilisce e soglie di sensibilità è a capacità di utilizà a chjama di poll () per riceve una notificazione chì i limiti stabiliti sò stati attivati ​​per un certu periodu di tempu. Questa funzione permette à Android di monitorà a mancanza di memoria in una prima tappa, identificà a fonte di prublemi è finisce l'applicazioni senza impurtanza senza causà prublemi chì sò notevuli à l'utilizatori. Quandu e teste di stress, i strumenti di monitoraghju di u cunsumu di memoria basati in PSI anu dimustratu 10 volte menu falsi pusitivi paragunatu à e statistiche di vmpressure;
    • U codice per a verificazione di i prugrammi BPF hè stata ottimizzata, chì permette di verificà finu à 20 volte più veloce per i prugrammi grandi. L'ottimisazione hà permessu di elevà u limitu di a dimensione di i prugrammi BPF da 4096 à un milione d'istruzzioni;
    • Per i prugrammi BPF furnitu l'abilità di accede à e dati glubale, chì permette di definisce e variàbili globale è custanti in i prugrammi;
    • Aggiuntu API, chì permette di cuntrullà i cambiamenti in i paràmetri sysctl da i prugrammi BPF;
    • Per l'architettura MIPS32, un compilatore JIT per a macchina virtuale eBPF hè stata implementata;
    • Per l'architettura PowerPC 32-bit, u supportu per l'uttellu di debugging KASan (Sanitizer di l'indirizzu Kernel) hè statu aghjuntu, chì aiuta à identificà l'errore quandu u travagliu cù a memoria;
    • Nant'à i sistemi x86-64, a restrizione di mette u dump di u statu durante un crash di u kernel (crash-dump) in i zoni di memoria sopra 896MB hè stata eliminata;
    • Per l'architettura s390, u supportu per a randomizazione di u spaziu di l'indirizzu di u kernel (KASLR) è a capacità di verificà e firme digitali quandu carica u kernel via kexec_file_load () sò implementati;
    • Per l'architettura PA-RISC, aghjustatu supportu per u debugger di kernel (KGDB), salti marcati è kprobes;
  • Equipment
    • Driver inclusu Lima per u Mali 400/450 GPU, utilizatu in parechji chips più vechji basati nantu à l'architettura ARM. Per i GPU Mali più recenti, u driver Panfrost hè statu aghjuntu, supportendu chips basati nantu à i microarchitettu Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) è Bifrost (Mali G3x, G5x, G7x);
    • Aghjunghje supportu per i dispositi audio chì utilizanu firmware apertu Firmware SoundOpen (SOF). Malgradu a dispunibilità di cunduttori aperti, u codice di firmware per i chips di sonu restava sempre chjusu è era furnitu in forma binaria. U prughjettu Sound Open Firmware hè statu sviluppatu da Intel per creà un firmware apertu per i chips DSP ligati à l'elaborazione di l'audio (Google dopu hà ancu unitu à u sviluppu). Attualmente, u prugettu hà digià preparatu a scuperta di firmware per i chips di sonu di e plataforme Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake è IceLake;
    • U driver Intel DRM (i915) aghjunghje supportu per i chips
      Elkhartlake (Gen11). Aggiunti ID PCI per i chip Comet Lake (Gen9). U supportu per i chips Icelake hè statu stabilizatu, per quale l'identificatori di dispositivi PCI addiziunali sò stati ancu aghjunti.
      Accenditu
      Modu di cambiamentu asincronu trà dui buffer in memoria video (async flip) quandu eseguite operazioni di scrittura via mmio, chì hà aumentatu significativamente u rendiment di alcune applicazioni 3D (per esempiu, u rendiment in a prova di 3DMark Ice Storm hà aumentatu da 300-400%). Supportu tecnologicu aghjuntu HDCP2.2 (Protezzione di cuntenutu digitale di larghezza di banda alta) per criptà i segnali video trasmessi via HDMI;

    • U driver amdgpu per a GPU Vega20 aghjustatu supportu per RAS (Reliability, Availability, Serviceability) è supportu sperimentale per u subsistema SMU 11, chì rimpiazzà a tecnulugia Powerplay. Per GPU Vega12 aghjustatu supportu per u modu BACO (Bus Active, Chip Off). Aghjunghje un supportu iniziale per XGMI, un bus d'alta velocità (PCIe 4.0) per l'interconnessione GPU. Aghjunghjite identificatori mancanti per e carte basate in Polaris10 GPU à u driver amdkfd;
    • U driver Nouveau hà aghjustatu supportu per i schede basati nantu à u chipset NVIDIA Turing 117 (TU117, utilizatu in a GeForce GTX 1650). IN
      kconfig aghjustatu impostazione per disattivà e funzioni obsolete chì ùn sò più aduprate in i versioni attuali di libdrm;

    • U supportu per l'uggetti di sincronizazione "timeline" hè statu aghjuntu à l'API DRM è u driver amdgpu, chì permette di fà senza bluccatu classicu.
    • U driver vboxvideo per a GPU virtuale VirtualBox hè stata spustata da u ramu di staging à a struttura principale;
    • Aggiuntu un driver di velocità per u chip GFX SoC ASPEED;
    • Supportu aghjuntu per ARM SoC è Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi) ) schede RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

À u listessu tempu, a Fundazione di Software Liberu Latino-Americana furmatu
opzione kernel completamente gratuitu 5.2 - Linux-libre 5.2-gnu, sguassatu di firmware è elementi di driver chì cuntenenu cumpunenti non liberi o sezioni di codice, u scopu di quale hè limitatu da u fabricatore. A nova versione include l'uploading di file
Sound Open Firmware. A carica di blob in i driver hè disattivata
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp è ucsi_ccg. U codice di pulizia blob in i drivers è i sottosistemi ixp4xx, imx-sdma, amdgpu, nouveau è goya, è ancu in a documentazione di u microcode, hè stata aghjurnata. Fermatu di pulisce i blobs in u driver r8822be per via di a so rimozione.

Source: opennet.ru

Add a comment