Liberazione di u kernel Linux 5.6

Dopu dui mesi di sviluppu, Linus Torvalds introduttu liberazione di u kernel Linux 5.6Trà i cambiamenti più notevuli: l'integrazione di una interfaccia VPN WireGuard, Supportu USB4, spazii di nomi di tempu, a capacità di creà gestori di congestione TCP utilizendu BPF, supportu iniziale per MultiPath TCP, una correzione di u kernel per u prublema di l'annu 2038, u mecanismu "bootconfig", ZoneFS.

A nova versione include 13702 correzioni da 1810 sviluppatori,
patch size - 40 MB (cambiamenti affettati 11577 file, aghjunte 610012 linee di codice,
294828 righe eliminate). Circa 45% di tutti i presentati in 5.6
i cambiamenti sò ligati à i cunduttori di u dispositivu, circa 15% di i cambiamenti anu
attitudine versu l'aghjurnamentu di codice specificu à l'architetture hardware, 12%
assuciatu cù a pila di rete, 4% cù sistemi di schedari è 3% cù internu
sottosistemi di kernel.

menu innovazioni:

  • Sottusistema di rete
    • Aggiuntu implementazione di una interfaccia VPN WireGuard, chì hè implementatu nantu à a basa di i metudi di crittografia muderni (ChaCha20, Poly1305, Curve25519, BLAKE2s), hè faciule d'utilizà, senza cumplicazioni, s'hè pruvatu in un certu numeru di implementazioni di grande scala è furnisce prestazioni assai elevate (3,9 volte più veloce OpenVPN per rendimentu). In WireGuard U cuncettu di routing di chjave di crittografia hè utilizatu, chì implica ligà una chjave privata à ogni interfaccia di rete è aduprà chjave publiche per u ligame. U scambiu di chjave publiche per stabilisce una cunnessione hè simile à SSH. Necessariu per u funziunamentu WireGuard primitive crittografiche era traspurtatu da a biblioteca Zinc cum'è parte di l'API Crypto standard è inclusu in u core 5.5.
    • Principiatu integrazione di cumpunenti necessarii per supportà MPTCP (MultiPath TCP), una estensione di u protocolu TCP per urganizà u funziunamentu di una cunnessione TCP cù a consegna di pacchetti simultaneamente longu parechje rotte attraversu diverse interfacce di rete associate cù diversi indirizzi IP. Per l'applicazioni di rete, una tale cunnessione aggregata s'assumiglia à una cunnessione TCP regulare, è tutta a logica di separazione di flussu hè realizata da MPTCP. Multipath TCP pò esse usatu sia per aumentà u throughput sia per aumentà l'affidabilità. Per esempiu, MPTCP pò esse usatu per urganizà a trasmissione di dati in un smartphone utilizendu ligami WiFi è 4G simultaneamente, o per riduce i costi cunnessu un servitore cù parechji ligami economici invece di unu caru.
    • Aggiuntu supportu per a disciplina di trattamentu di fila di rete sch_ets (Selezzione di Trasmissione Enhanced, IEEE 802.1Qaz), chì furnisce a capacità di distribuisce a larghezza di banda trà e diverse classi di trafficu. Se a carica nantu à una classa di trafficu particulari hè sottu à a larghezza di banda assignata, allora l'ETS permette à l'altri classi di trafficu aduprà a larghezza di banda dispunibule (inutilizata). Qdisc sch_ets hè cunfiguratu cum'è una disciplina PRIO è usa classi di trafficu per definisce limiti di larghezza di banda stretti è spartuti. ETS funziona cum'è una cumminazione di discipline PRIO и DRR - se ci sò classi di trafficu strettamente limitati, PRIO hè utilizatu, ma s'ellu ùn ci hè micca trafficu in a fila, funziona cum'è DRR.
    • Aggiuntu un novu tipu di prugrammi BPF BPF_PROG_TYPE_STRUCT_OPS, chì vi permette di implementà i gestori di funzioni di kernel attraversu BPF. Attualmente, sta funzione pò esse digià aduprata per implementà algoritmi di cuntrollu di congestioni TCP in forma di prugrammi BPF. Cum'è un esempiu pruposta Programma BPF cù implementazione di l'algoritmu DCTCP.
    • Acceptatu in u core cambià, strumenti di traduzzione ettool cù ioctl () à aduprà interfaccia netlink. A nova interfaccia facilita l'aggiunta di estensioni, migliurà a gestione di l'errore, permette di mandà notificazioni quandu cambia u statu, simplifica l'interazzione trà u kernel è u spaziu di l'utilizatori, è riduce u numeru di listi chjamati chì deve esse sincronizzati.
    • Aggiunta l'implementazione di l'algoritmu di gestione di fila di rete FQ-PIE (Flow Queue PIE), destinatu à riduce l'impattu negativu di u buffering di pacchetti intermedi nantu à l'equipaggiu di rete di punta (bufferbloat). FQ-PIE dimostra una alta efficienza quandu hè utilizatu in sistemi cù modem cable.
  • Sottosistema di discu, I / O è sistemi di fugliale
    • Per u sistema di schedari Btrfs aghjustatu implementazione asincrona di l'operazione DISCARD (marchendu i blocchi liberati chì ùn anu più bisognu di esse salvati fisicamente). Inizialmente, l'operazioni DISCARD sò state eseguite in modu sincronu, chì puderia purtà à a degradazione di u rendiment per via di l'unità chì aspittàvanu chì i cumandamenti currispondenti finiscinu. L'implementazione asincrona permette di ùn aspittà micca chì l'unità compie DISCARD è eseguisce sta operazione in fondo.
    • In XFS compiu Pulizia di u codice chì usava vechji contatori di tempu di 32 bit (u tippu time_t hè statu rimpiazzatu da time64_t), purtendu à u prublema 2038. Fixed errori è corruzzione di memoria chì si sò accaduti nantu à e piattaforme 32-bit. U codice hè statu riformulatu per travaglià cù attributi estesi.
    • À u sistema di fugliale ext4 intruduttu Ottimisazioni di rendiment in relazione à a gestione di u bloccu di l'inode durante l'operazione di lettura è scrittura. Prestazione di riscrittura mejorata in modalità I/O diretta. Per simplificà a diagnosi di prublemi, u primu è l'ultimu codice d'errore sò guardati in u superbloccu.
    • In u sistema di fugliale F2FS implementatu capacità di almacenà dati in forma compressa. Per un schedariu individuale o cartulare, a cumpressione pò esse attivata cù u cumandimu "chatr + c file" o "chattr +c dir; toccu dir/file". Per cumpressà tutta a partizione, pudete aduprà l'opzione "-o compress_extension=ext" in l'utilità di muntagna.
    • U kernel include un sistema di schedari ZoneFS, chì simplificà u travagliu di livellu bassu cù i dispositi di almacenamento in zona. Unità zoned significa dispusitivi nantu à dischi duru magnetichi o NVMe SSD, u spaziu di almacenamiento in quale hè divisu in zoni chì custituiscenu gruppi di blocchi o settori, in quale solu l'aghjunzione sequenziale di dati hè permessa, aghjurnà tuttu u gruppu di blocchi. FS ZoneFS hè statu sviluppatu da Western Digital è assucia ogni zona in u discu cù un schedariu separatu chì pò esse usatu per almacenà e dati in modu crudu senza manipulazione à u livellu di u settore è di u bloccu, i.e. Permette à l'applicazioni di utilizà l'API di u schedariu invece di accede direttamente à u dispositivu di bloccu cù un ioctl.
    • In NFS, l'installazione di partizioni nantu à UDP hè disattivata per difettu. Aghjunghje supportu per a capacità di cupià direttamente i fugliali trà i servitori, definitu in a specificazione NFS 4.2. Aggiunta una nova opzione di muntatura "softreval", chì permette à i valori di l'attributi in cache per esse utilizati in casu di fallimentu di u servitore. Per esempiu, quandu si specifica sta opzione, dopu chì u servitore ùn hè micca dispunibile, ferma pussibule di trasfurmà i camini in a partizione NFS è accede à l'infurmazioni chì si sò stallati in u cache.
    • Compiu ottimisazione di u funziunamentu di u mecanismu fs-verity, utilizatu per monitorà l'integrità è l'autentificazione di i schedarii individuali. Aumenta a velocità di lettura sequenziale grazia à l'usu di un arbre Hash Merkle. A prestazione di FS_IOC_ENABLE_VERITY hè stata ottimizzata quandu ùn ci hè micca dati in a cache (a lettura preventiva di e pagine cù dati hè stata applicata).
  • Virtualizazione è Sicurezza
    • A capacità di disattivà u modulu SE hè stata deprecata.Linux durante l'operazione, è in u futuru, scaricamentu di SE digià attivatuLinux serà pruibitu. Per disattivà SELinux Averete bisognu di passà u parametru "selinux=0" nantu à a linea di cummanda di u kernel.
    • Aggiuntu supportu per namespaces per u tempu (time namespaces), chì vi permette di ligà u statu di u clock di u sistema à u containeru (CLOCK_REALTIME,
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), aduprate u vostru tempu in u containeru è, quandu migrate u containeru à un altru òspite, assicuratevi chì e letture CLOCK_MONOTONIC è CLOCK_BOOTTIME restanu invariate (pigliate in contu u tempu dopu a carica, cù o senza esse in modu di dorme). ).
    • U pool di bloccu /dev/random hè statu eliminatu. U cumpurtamentu di /dev/random hè simile à /dev/urandom in termini di prevenzione di l'entropia bluccatu dopu l'inizializazione di u pool.
    • U core kernel include un driver chì permette à i sistemi invitati chì eseguenu VirtualBox per muntà cartulari esportati da l'ambienti di l'ospite (VirtualBox Shared Folder).
    • Un inseme di patch hè statu aghjuntu à u sottusistema BPF (Dispatcher BPF), quandu aduprate u mecanismu Retpoline per pruteggiri contra l'attacchi di classi Spectre V2, vi permette di aumentà l'efficienza di chjamà i prugrammi BPF quandu l'avvenimenti assuciati cun elli accadenu (per esempiu, permette di accelerà a chjama di i gestori XDP quandu un ghjunghje u pacchettu di rete).
    • Aggiuntu driver per supportà TEE (Trusted Execution Environment) integratu in APU AMD.
  • Memoria è servizii di sistema
    • BPF hà aghjustatu supportu per e funzioni globale. U sviluppu hè realizatu cum'è parte di una iniziativa per aghjunghje supportu per e biblioteche di funzioni chì ponu esse incluse in i prugrammi BPF. U prossimu passu serà di sustene l'estensioni dinamichi chì permettenu e funzioni glubale per esse caricate, cumprese a sostituzione di e funzioni globale esistenti mentre sò in usu. U subsistema BPF aghjunghjenu ancu supportu per una variante di l'operazione di mappa (aduprata per almacenà dati persistenti), chì sustene l'esekzione in modu batch.
    • Aggiuntu U dispusitivu "cpu_cooling" permette di rinfriscà un CPU surriscaldatu mettendulu in u statu inattivu per brevi periodi di tempu.
    • Chjama di sistema aghjuntu openat2(), chì offre un inseme di bandieri supplementari per limità a risoluzione di u percorsu di u schedariu (proibizione di attraversà punti di muntagna, ligami simbolichi, ligami magichi (/proc/PID/fd), cumpunenti "../").
    • Per i sistemi eterogenei basati nantu à l'architettura big.LITTLE, cumminendu nuclei CPU putenti è menu efficienti in energia efficiente in un chip, u paràmetru uclamp_min hè stabilitu quandu eseguisce attività in tempu reale (emerse in u kernel 5.3 ci hè un mecanismu per assicurà a carica). Stu paràmetru assicura chì u compitu serà postu da u pianificatore nantu à un core CPU chì hà un rendimentu abbastanza.
    • U kernel hè liberatu da prublemi di 2038. Sustituitu l'ultimi gestori rimanenti, chì anu utilizatu u tipu time_t di 32-bit (firmatu int) per u contatore di u tempu epocale, chì, tenendu in contu u rapportu di u 1970, duverebbe overflow in 2038.
    • Migliuramentu cuntinuatu di l'interfaccia I/O asincrona io_uring, in quale assicuratu supportu per novi operazioni: IORING_OP_FALLOCATE (riservazione di spazii vacanti), IORING_OP_OPENAT,
      IORING_OP_OPENAT2,
      IORING_OP_CLOSE (apre è chjude i schedari),
      IORING_OP_FILES_UPDATE (aghjunghje è sguassà i fugliali da a lista d'accessu rapidu),
      IORING_OP_STATX (richiesta di infurmazione di u schedariu),
      IORING_OP_READ,
      IORING_OP_WRITE (analogi simplificati di IORING_OP_READV è IORING_OP_WRITEV),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (varianti asincrone di chjama posix_fadvise è madvise), IORING_OP_SEND,
      IORING_OP_RECV (invià è riceve dati di rete),
      IORING_OP_EPOLL_CTL (eseguite operazioni nantu à i descrittori di u file epoll).
    • Chjama di sistema aghjuntu pidfd_getfd(), chì permette à un prucessu di ricuperà un descrittore di fugliale per un schedariu apertu da un altru prucessu.
    • Implementatu u mecanismu "bootconfig", chì permette, in più di l'opzioni di linea di cumanda, per determinà i paràmetri di u kernel per mezu di un schedariu di paràmetri. Per aghjunghje tali schedari à l'imaghjini initramfs, l'utilità bootconfig hè pruposta. Questa funzione pò esse aduprata, per esempiu, per cunfigurà kprobes à u tempu di boot.
    • Riprogettatu un mecanismu per aspittà per scrive è leghje dati in pipe senza nome. U cambiamentu hà permessu di accelerà i travaglii cum'è l'assemblea parallela di grandi prughjetti. Tuttavia, l'ottimisazione pò purtà à una cundizione di razza in GNU make due à un bug in a versione 4.2.1, chì hè stata corretta in a versione 4.3.
    • Aghjunghjia a bandera PR_SET_IO_FLUSHER à prctl (), chì pò esse usata per marcà prucessi senza memoria chì ùn deve esse sottumessi à limiti quandu u sistema hè pocu in memoria.
    • Basatu annantu à a tecnulugia aduprata in Android U sistema di allocazione di memoria ION hà un sottosistema implementatu dma-buf mucchi, chì vi permette di cuntrullà l'attribuzione di buffers DMA per sparta spazii di memoria trà i cunduttori, applicazioni è diversi sottosistemi.
  • Architettura di hardware
    • Aghjunghje supportu per l'estensione E0PD, chì hè apparsu in ARMv8.5 è permette a prutezzione contra l'attacchi ligati à l'esekzione speculativa di struzzioni nantu à u CPU. A prutezzione basata in E0PD si traduce in una spesa più bassa di a prutezzione KPTI (Kernel Page Table Isolation).
    • Per i sistemi basati nantu à l'architettura ARMv8.5, u supportu per l'istruzzioni RNG hè statu aghjuntu, chì furnisce l'accessu à un generatore di numeri pseudo-aleatoriu di hardware. In u kernel, l'istruzzioni RNG hè aduprata per generà entropia quandu inizializza u generatore di numeri pseudo-aleatoriu furnitu da u kernel.
    • Eliminatu u supportu per MPX (Extensions di Proteczione di Memoria) aghjuntu in u kernel 3.19 è vi permette di urganizà a verificazione di i puntatori per assicurà chì i cunfini di e zoni di memoria sò rispettati. Sta tecnulugia ùn era micca largamente usata in compilatori è hè stata eliminata da GCC.
    • Per l'architettura RISC-V, u supportu per l'uttellu di debugging KASan (Sanitizer di l'indirizzu Kernel) hè statu implementatu, chì aiuta à identificà l'errori quandu travaglia cù memoria.
  • Equipment
    • Supportu di specificazione implementatu 4.0 USB, chì hè basatu annantu à u protokollu Thunderbolt 3 è furnisce un throughput finu à 40 Gbps, mentre mantene a cumpatibilità retrocede cù USB 2.0 è USB 3.2. Per analogia cù Thunderbolt L'interfaccia USB 4.0 permette di tunelà diversi protokolli nantu à un solu cable cù un connettore Type-C, cumpresi PCIe, Display Port, è USB 3.x, è ancu implementazioni software di protokolli, cum'è quelli per stabilisce ligami di rete trà host. L'implementazione hè basata annantu à ciò chì hè digià inclusu in u kernel. Linux U driver Thunderbolt hè statu aggiornatu è adattatu per funziunà cù l'ospiti è i dispusitivi cumpatibili cù USB4. I cambiamenti aghjunghjenu ancu u supportu per i dispusitivi Thunderbolt 3 à l'implementazione di u software di Connection Manager, chì hè rispunsevule di a creazione di tunnel per cunnette parechji dispusitivi via un unicu portu.
    • In u driver amdgpu aghjustatu supportu iniziale per a tecnulugia di prutezzione di copia HDCP 2.x (High-bandwidth Digital Content Protection). Added support for the AMD Pollock ASIC chip based on Raven 2. Implementatu l'abilità di resettate a GPU per e famiglie Renoir è Navi.
    • Driver DRM per schede video Intel aghjustatu U supportu DSI VDSC per chips basatu nantu à a microarchitettura Ice Lake è Tiger Lake, LMEM mmap (memoria locale di u dispositivu) hè stata implementata, l'analisi VBT (Video BIOS Table) hè stata migliurata, u supportu HDCP 2.2 hè statu implementatu per i chips Coffee Lake.
    • U travagliu cuntinuava à unificà u codice di driver amdkfd (per GPU discrete, cum'è Fiji, Tonga, Polaris) cù u driver amdgpu.
    • U driver k10temp hè statu riformulatu, chì avà sustene l'output voltage è i paràmetri di corrente per i CPU AMD Zen, è ancu l'infurmazioni allargate da i sensori di temperatura utilizati in CPU Zen è Zen 2.
    • In u driver nouveau aghjustatu supportu per u modu verificatu di carica di firmware per i GPU NVIDIA basati nantu à a microarchitettura Turing (GeForce RTX 2000), chì hà permessu di attivà u supportu per l'accelerazione 3D per queste carte (scaricamentu di firmware ufficiale cù una firma digitale NVIDIA hè necessariu). Supportu aghjuntu per u mutore graficu TU10x. I prublemi cù HD Audio sò stati risolti.
    • Aghjunghje supportu per a compressione di dati quandu hè trasmessa via DisplayPort MST (Transport Multi-Stream).
    • Aggiuntu un novu driver "ath11k» per i chips wireless Qualcomm chì supportanu 802.11ax.
      U driver hè basatu annantu à a pila mac80211 è supporta punti d'accessu, stazioni di travagliu è modi di node di rete di rete.
    • Per mezu di sysfs, l'accessu à e letture di sensori di temperatura leggibili utilizati nantu à i discu duru muderni è SSD hè furnitu.
    • Inviatu cambiamenti significativi à u sistema di sonu ALSA, destinatu à liberà u codice di prublemi di 2038 (evitendu l'usu di u tippu time_t 32-bit in l'interfaccia snd_pcm_mmap_status è snd_pcm_mmap_control). Aghjunghje supportu per novi codecs audio
      Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.
    • Aggiuntu driver per pannelli LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Sharp LS020B1DD01D.
    • Aggiuntu supportu per schede ARM è piattaforme Gen1 Amazon Echo (basatu in OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 lettore di eBook,
      Artisti incorporati COM (i.MX7ULP), SolidRun Clearfog CX/ITX è HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
      Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
      ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863, Unisoc SC7180. Supportu aghjuntu per u controller PCIe utilizatu in Raspberry Pi 4.

À u listessu tempu, a Fundazione di Software Liberu Latino-Americana furmatu
opzione kernel completamente gratuitu 5.6 - Linux-libre 5.6-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 disattiva a carica di blob in i driver per AMD TEE, ATH11K è Mediatek SCP. Codice di pulizia blob aghjurnatu in AMD PSP, amdgpu è i drivers è i sottosistemi.

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster