{"id":104123,"date":"2022-05-23T15:36:40","date_gmt":"2022-05-23T13:36:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-5-18"},"modified":"2022-05-23T15:36:40","modified_gmt":"2022-05-23T13:36:40","slug":"reliz-yadra-linux-5-18","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-18","title":{"rendered":"Rilascio del kernel Linux 5.18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux 5.18. Tra le modifiche pi\u00f9 rilevanti: \u00e8 stata effettuata una grande pulizia delle funzionalit\u00e0 obsolete, il filesystem Reiserfs \u00e8 stato dichiarato obsoleto, implementati eventi di tracciamento per i processi utente, aggiunto il supporto per il meccanismo di blocco degli exploit Intel IBT, attivato il rilevamento del buffer overflow nell'uso della funzione memcpy(), introdotto un meccanismo di tracciamento delle chiamate alle funzioni fprobe, migliorata la performance dello scheduler su CPU AMD Zen, incluso un driver per gestire le funzionalit\u00e0 della CPU Intel (SDS), integrati alcuni patch per la ristrutturazione dei file di intestazione e approvato l'uso dello standard C11.      <\/p>\n<p>Nella nuova versione sono stati apportati 16206 correttivi da 2127 sviluppatori (nella precedente edizione erano 14203 correzioni da 1995 sviluppatori), la dimensione della patch \u00e8 di 108 MB (sono stati toccati 14235 file, aggiunte 1340982 linee di codice e rimosse 593836 linee). Circa il 44% di tutte le modifiche presentate in 5.18 riguardano i driver dei dispositivi, circa il 16% delle modifiche \u00e8 relativo all'aggiornamento di codice specifico per architetture hardware, l'11% \u00e8 collegato allo stack di rete, il 3% ai file system e il 3% ai sottosistemi interni del kernel.           <\/p>\n<p>Novit\u00e0 principali nel kernel 5.18:    <\/p>\n<ul>\n<li class=\"l\"> <b>Sottosistema disco, I\/O e file system<\/b>\n<ul>\n<li class=\"l\"> Nel file system Btrfs \u00e8 stato aggiunto il supporto per il passaggio di dati compressi durante le operazioni di send e receive. In precedenza, utilizzando send\/receive, il lato mittente decomprimeva i dati archiviati in forma compressa, mentre il ricevente ri-comprimeva prima della scrittura. Nel kernel 5.18, alle applicazioni nello spazio utente che utilizzano le chiamate send\/receive \u00e8 stata fornita la possibilit\u00e0 di trasferire dati compressi senza ripackaging. Questa funzionalit\u00e0 \u00e8 stata realizzata grazie a nuove operazioni ioctl, BTRFS_IOC_ENCODED_READ e BTRFS_IOC_ENCODED_WRITE, che consentono di leggere e scrivere direttamente informazioni negli extent.\n<p>Inoltre, Btrfs ha migliorato le prestazioni di fsync. \u00c8 stata aggiunta la possibilit\u00e0 di deduplicazione e di esecuzione di reflink (clonazione dei metadati di un file creando un collegamento ai dati esistenti senza duplicarli effettivamente) per l'intero storage, senza limiti ai punti di montaggio.         <\/p>\n<li class=\"l\"> In modalit\u00e0 di ingresso diretto\/uscita diretta (Direct I\/O), \u00e8 possibile accedere a file crittografati utilizzando la crittografia in linea fscrypt, in cui le operazioni di crittografia e decrittografia vengono eseguite dal controller dell'unit\u00e0, e non dal kernel. Con la crittografia tradizionale gestita dal kernel, l'accesso a file crittografati tramite Direct I\/O rimane impossibile, poich\u00e9 l'accesso ai file avviene bypassando il meccanismo di buffering del kernel.\n<li class=\"l\"> Nel server NFS, il supporto per il protocollo NFSv3 \u00e8 abilitato per impostazione predefinita e non richiede un'abilitazione separata, ed \u00e8 disponibile con l'attivazione generale di NFS. NFSv3 \u00e8 considerata la versione principale e sempre supportata di NFS, mentre il supporto per NFSv2 potrebbe essere interrotto in futuro. \u00c8 stata notevolmente aumentata l'efficienza nella lettura del contenuto delle directory.\n<li class=\"l\"> Il file system ReiserFS \u00e8 stato dichiarato obsoleto e sar\u00e0 rimosso nel 2025. La sua classificazione come obsoleto ridurr\u00e0 il carico di lavoro per la manutenzione delle modifiche comuni ai file system, relative al supporto del nuovo API per il montaggio, iomap e volumi.\n<li class=\"l\"> Per il file system F2FS \u00e8 stata implementata la possibilit\u00e0 di mappare gli identificatori degli utenti di file system montati, utilizzata per associare file di un determinato utente su una partizione di terzi con un altro utente nel sistema attuale.\n<li class=\"l\"> Il codice per il conteggio delle statistiche nei gestori Device-mapper \u00e8 stato rielaborato, il che ha migliorato notevolmente l'accuratezza del tracciamento in gestori come dm-crypt.\n<li class=\"l\"> Per i dispositivi NVMe \u00e8 stata aggiunta la supporto per checksum a 64 bit per la verifica dell'integrit\u00e0.\n<li class=\"l\"> Per il file system exfat \u00e8 stata proposta una nuova opzione di montaggio \"keep_last_dots\", che impedisce la cancellazione dei punti alla fine del nome del file (in Windows i punti alla fine del nome vengono rimossi per impostazione predefinita).\n<li class=\"l\"> In EXT4 \u00e8 stata migliorata la performance della modalit\u00e0 fast_commit e aumentata la scalabilit\u00e0. L'opzione di montaggio \"mb_optimize_scan\", che consente di migliorare le prestazioni in condizioni di alta frammentazione del FS, \u00e8 stata adattata per lavorare con file con extent.\n<li class=\"l\"> Supporto per i flussi di scrittura (write stream) nel sottosistema che gestisce i dispositivi a blocchi \u00e8 stato interrotto. Questa funzionalit\u00e0 era stata proposta per gli SSD, ma non ha avuto diffusione e attualmente non ci sono dispositivi in circolazione che supportano questa modalit\u00e0, rendendo improbabile una loro comparsa in futuro.                      <\/ul>\n<li class=\"l\"> <b>Memoria e servizi di sistema<\/b>\n<ul>\n<li class=\"l\"> \u00c8 iniziata l'integrazione di un insieme di patch che consentono di ridurre significativamente il tempo di ricompilazione del kernel tramite la ristrutturazione della gerarchia dei file header e la diminuzione del numero di dipendenze incrociate. Nel kernel 5.18 sono incluse patch che ottimizzano la struttura dei file header dello scheduler (kernel\/sched). Rispetto alla versione precedente, il consumo di tempo della CPU durante la compilazione del codice kernel\/sched \u00e8 diminuito del 61%, mentre il tempo effettivo si \u00e8 ridotto del 3.9% (da 2.95 a 2.84 secondi).\n<li class=\"l\"> Nel kernel \u00e8 consentito l'uso dello standard C11, pubblicato nel 2011. In precedenza, il codice aggiunto al kernel doveva conformarsi alla specifica ANSI C (C89), formulata nel 1989. Negli script di build del kernel 5.18, l'opzione &#8216;&#8212;std=gnu89&#8217; \u00e8 stata sostituita con &#8216;&#8212;std=gnu11 -Wno-shift-negative-value&#8217;. \u00c8 stata considerata la possibilit\u00e0 di utilizzare lo standard C17, ma in tal caso sarebbe stato necessario aumentare la versione minima supportata di GCC; l'inclusione del supporto per C11 rientra comunque nei requisiti attuali per la versione di GCC (5.1).\n<li class=\"l\"> \u00c8 aumentata la performance di scheduling dei task sui processori AMD con microarchitettura Zen, nei quali per ogni nodo con canali di memoria locali vengono forniti diversi cache di ultimo livello (LLC, Last Level Cache). Nella nuova versione \u00e8 stato risolto il disallineamento dell'LLC tra i nodi NUMA, il che ha portato a un significativo aumento delle prestazioni in alcune tipologie di carico.\n<li class=\"l\"> Sono stati ampliati gli strumenti per il tracciamento delle applicazioni nello spazio utente. La nuova versione del kernel introduce la possibilit\u00e0 per i processi personalizzati di generare eventi di tracciamento (User events) e registrare dati nel buffer di tracciamento, che possono essere visualizzati tramite utility di tracciamento standard del kernel, come ftrace e perf. Gli eventi di tracciamento dallo spazio utente sono isolati dagli eventi di tracciamento del kernel. Lo stato degli eventi pu\u00f2 essere visualizzato nel file \/sys\/kernel\/debug\/tracing\/user_events_status, mentre la registrazione di un evento e la registrazione dei dati avviene tramite il file \/sys\/kernel\/debug\/tracing\/user_events_data.\n<li class=\"l\"> \u00c8 stato aggiunto un meccanismo di tracciamento (probe) delle chiamate alle funzioni \u2014 fprobe. L'API fprobe si basa su ftrace, ma \u00e8 limitata alla possibilit\u00e0 di allegare gestori di callback ai punti di ingresso e di uscita delle funzioni. A differenza di kprobes e kretprobes, il nuovo meccanismo consente di utilizzare un singolo gestore per pi\u00f9 funzioni.\n<li class=\"l\"> \u00c8 stata interrotta la supporto per vecchi processori ARM (ARMv4 e ARMv5) privi di un'unit\u00e0 di gestione della memoria (MMU). La supporto per i sistemi ARMv7-M senza MMU \u00e8 mantenuta.\n<li class=\"l\"> Il supporto per l'architettura NDS32 simile a RISC, utilizzata nei processori della Andes Technologies, \u00e8 stato interrotto. Il codice \u00e8 stato rimosso a causa della mancanza di supporto e della scarsa richiesta di NDS32 nel kernel Linux principale (gli utenti rimanenti utilizzano versioni specializzate del kernel fornite dai produttori di hardware).\n<li class=\"l\"> Per impostazione predefinita \u00e8 disabilitata la compilazione del kernel con supporto per il formato di file eseguibili a.out per le architetture alpha e m68k, in cui questo formato \u00e8 ancora utilizzato. \u00c8 probabile che il supporto per il formato a.out obsoleto venga completamente rimosso dal kernel a breve. I piani per la rimozione del formato a.out sono in discussione dal 2019.\n<li class=\"l\"> Per l'architettura PA-RISC \u00e8 stato implementato un supporto minimo per il meccanismo vDSO (virtual dynamic shared objects), che fornisce un insieme limitato di chiamate di sistema disponibili nello spazio utente senza cambio di contesto. Il supporto vDSO ha reso possibile l'esecuzione con uno stack non eseguibile.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per il meccanismo Intel HFI (Hardware Feedback Interface), che consente all'hardware di trasmettere al kernel informazioni sulle attuali prestazioni e sull'efficienza energetica di ogni CPU.\n<li class=\"l\"> \u00c8 stato aggiunto un driver per il meccanismo Intel SDSi (Software-Defined Silicon), che consente di gestire l'attivazione di funzionalit\u00e0 aggiuntive nel processore (ad esempio, istruzioni specializzate e cache aggiuntiva). L'idea \u00e8 che chip con funzionalit\u00e0 avanzate bloccate possano essere forniti a un prezzo inferiore, permettendo poi di \"acquistare\" e attivare ulteriori capacit\u00e0 senza bisogno di sostituire fisicamente il chip.\n<li class=\"l\"> \u00c8 stato aggiunto il driver amd_hsmp per supportare l'interfaccia AMD HSMP (Host System Management Port), che offre accesso a funzioni di gestione del processore attraverso un set di registri speciali, introdotti nei processori server AMD EPYC a partire dalla generazione Fam19h. Ad esempio, attraverso HSMP \u00e8 possibile ottenere dati sul consumo energetico e sulla temperatura, impostare limiti di frequenza, attivare vari modi di aumento delle prestazioni e gestire i parametri di funzionamento della memoria.\n<li class=\"l\"> Nell'interfaccia di input\/output asincrono, io_uring implementa l'opzione IORING_SETUP_SUBMIT_ALL per la registrazione in un buffer circolare di un insieme di descrittori di file, insieme all'operazione IORING_OP_MSG_RING, che consente di inviare un segnale da un buffer circolare a un altro.\n<li class=\"l\"> Nel meccanismo DAMOS (Schemi di Operazione basati sul Monitoraggio dell'Accesso ai Dati), che consente di liberare la memoria tenendo conto della frequenza di accesso alla memoria, sono state ampliate le capacit\u00e0 di controllo delle operazioni di memoria dallo spazio utente.\n<li class=\"l\"> \u00c8 stata integrata la terza serie di patch con l'implementazione del concetto di folean di pagina (page folios), che ricordano le pagine di memoria composte (compound pages), ma si distinguono per una semantica migliorata e un'organizzazione del lavoro pi\u00f9 chiara. L'uso dei folean consente di accelerare la gestione della memoria in alcune sottosistemi del kernel. Nelle patch proposte \u00e8 stata effettuata la transizione ai folean per funzioni interne di gestione della memoria, inclusa la variante della funzione get_user_pages(). \u00c8 stato fornito supporto per la creazione di grandi folean nel codice di prelettura dei dati.\n<li class=\"l\"> Nel sistema di build \u00e8 stata aggiunta la supporto per le variabili d'ambiente USERCFLAGS e USERLDFLAGS, che consentono di passare ulteriori flag al compilatore e al linker.\n<li class=\"l\"> Nel sottosistema eBPF, nel meccanismo BTF (BPF Type Format), che fornisce informazioni per la verifica dei tipi nel pseudocodice BPF, \u00e8 stata implementata la possibilit\u00e0 di aggiungere annotazioni alle variabili che fanno riferimento ad aree di memoria nello spazio utente. Le annotazioni aiutano il sistema di verifica del codice BPF a identificare e controllare pi\u00f9 accuratamente gli accessi alla memoria.\n<li class=\"l\"> \u00c8 stato introdotto un nuovo gestore per l'allocazione della memoria per memorizzare i programmi BPF caricati, che permette un utilizzo pi\u00f9 efficiente della memoria in situazioni di caricamento di un numero elevato di programmi BPF.\n<li class=\"l\"> Nella chiamata di sistema madvise(), \u00e8 stato aggiunto il flag MADV_DONTNEED_LOCKED, che si somma gi\u00e0 al flag MADV_DONTNEED. Questo permette al kernel di essere avvisato in anticipo sulla liberazione di un blocco di memoria, vale a dire che questo blocco non \u00e8 pi\u00f9 necessario e pu\u00f2 essere utilizzato dal kernel. A differenza di MADV_DONTNEED, l'uso del flag MADV_DONTNEED_LOCKED \u00e8 consentito per le pagine di memoria bloccate in RAM, che durante la chiamata a madvise vengono espulse senza cambiare il loro stato di blocco e, in caso di successivo accesso al blocco e generazione di un 'page fault', vengono restituite mantenendo il vincolo. Inoltre, \u00e8 stata aggiunta una modifica che consente di utilizzare il flag MADV_DONTNEED con grandi pagine di memoria in HugeTLB.              <\/ul>\n<li class=\"l\"> <b>Virtualizzazione e sicurezza<\/b>\n<ul>\n<li class=\"l\"> Per l'architettura x86 \u00e8 stata aggiunta la supporto per il meccanismo di protezione del flusso di esecuzione dei comandi Intel IBT (Indirect Branch Tracking), che ostacola l'applicazione di tecniche di costruzione di exploit mediante l'uso di metodi di Programmazione Orientata al Ritorno (ROP, Return-Oriented Programming), in cui l'exploit \u00e8 formato come una catena di chiamate a frammenti di istruzioni macchina gi\u00e0 presenti in memoria, terminando con l'istruzione di ritorno dal controllo (di norma, si tratta delle conclusioni delle funzioni). Il principio del metodo di protezione implementato consiste nel bloccare i salti indiretti all'interno del corpo della funzione tramite l'aggiunta all'inizio della funzione di un'istruzione speciale ENDBR, consentendo l'esecuzione di un salto indiretto solo se il salto porta a questa istruzione (la chiamata indiretta tramite JMP e CALL deve sempre andare a finire sull'istruzione ENDBR, che si trova all'inizio stesso della funzione).\n<li class=\"l\"> \u00c8 stata attivata una verifica pi\u00f9 rigorosa dei confini dei buffer nelle funzioni memcpy(), memmove() e memset(), eseguita in fase di compilazione quando \u00e8 attivata l'opzione CONFIG_FORTIFY_SOURCE. La modifica apportata consiste nel controllare l'uscita dai confini degli elementi delle strutture di cui \u00e8 noto il dimensionamento. Va notato che questa funzionalit\u00e0 implementata potrebbe bloccare tutti i problemi di overflow di buffer legati a memcpy() nel kernel, emersi negli ultimi tre anni.\n<li class=\"l\"> \u00c8 stata aggiunta la seconda parte del codice della nuova implementazione del generatore di numeri pseudocasuali RDRAND, responsabile del funzionamento dei dispositivi \/dev\/random e \/dev\/urandom. La nuova implementazione si distingue per l'unificazione del funzionamento di \/dev\/random e \/dev\/urandom e per l'aggiunta di protezioni contro la duplicazione nel flusso di numeri casuali all'avvio. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/\"   title=\"di macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2100\">di macchine virtuali<\/a> e passando all'uso della funzione hash BLAKE2s invece di SHA1 per le operazioni di mescolamento dell'entropia. Questa modifica ha migliorato la sicurezza del generatore di numeri pseudocasuali, eliminando il problematico algoritmo SHA1 e escludendo la riscrittura del vettore di inizializzazione dell'RNG. Poich\u00e9 l'algoritmo BLAKE2s supera SHA1 in termini di prestazioni, il suo utilizzo ha avuto un impatto positivo anche sulle performance.\n<li class=\"l\"> Per l'architettura ARM64, \u00e8 stata aggiunta la supporto per un nuovo algoritmo di autenticazione dei puntatori \u2014 'QARMA3', che \u00e8 pi\u00f9 veloce dell'algoritmo QARMA mantenendo un adeguato livello di sicurezza. La tecnologia consente di utilizzare istruzioni specializzate ARM64 per verificare gli indirizzi di ritorno tramite firme digitali che sono memorizzate nei bit superiori non utilizzati dello stesso puntatore.\n<li class=\"l\"> Per l'architettura ARM64 \u00e8 stata implementata la supporto per la compilazione con l'inclusione nella GCC 12 della modalit\u00e0 di protezione contro la sovrascrittura dell'indirizzo di ritorno dalla funzione in caso di overflow del buffer nello stack. Il principio della protezione consiste nel salvare, dopo il trasferimento del controllo alla funzione, l'indirizzo di ritorno in uno &#171;stack ombra&#187; separato e nel recupero di questo indirizzo prima dell'uscita dalla funzione.\n<li class=\"l\"> \u00c8 stato aggiunto un nuovo archivio chiavi (keyring) &#8212; &#171;machine&#187;, contenente le chiavi del proprietario del sistema (MOK, Machine Owner Keys), supportate nel bootloader shim. Le chiavi indicate possono essere utilizzate per la firma digitale dei componenti del kernel, caricati in fase post avvio iniziale (ad esempio, i moduli del kernel).\n<li class=\"l\"> \u00c8 stata rimossa la supporto per le chiavi private asimmetriche per TPM, proposto in una versione obsoleta del TPM, con noti problemi di sicurezza e che non hanno trovato applicazione pratica.\n<li class=\"l\"> \u00c8 stata aggiunta la protezione dei dati di tipo size_t contro il overflow aritmetico. Nel codice vengono utilizzati i gestori size_mul(), size_add() e size_sub(), che permettono di eseguire in modo sicuro moltiplicazioni, somme e sottrazioni di grandezze di tipo size_t.\n<li class=\"l\"> Durante la compilazione del kernel sono stati inclusi i flag &#171;-Warray-bounds&#187; e  &#171;-Wzero-length-bounds&#187;, che emettono avvisi quando l'indice esce dai limiti dell'array e viene utilizzato un array di lunghezza zero.\n<li class=\"l\"> Nel dispositivo virtio-crypto \u00e8 stata aggiunta la supporto per la crittografia utilizzando l'algoritmo RSA.                                 <\/ul>\n<li class=\"l\"> <b>Sottosistema di rete<\/b>\n<ul>\n<li class=\"l\"> Nella realizzazione dei bridge di rete \u00e8 stata aggiunta la supporto per la modalit\u00e0 di blocco delle porte (locked mode), in cui l'utente pu\u00f2 inviare traffico tramite una porta solo dall'indirizzo MAC autorizzato. \u00c8 stata inoltre introdotta la possibilit\u00e0 di utilizzare pi\u00f9 strutture per valutare lo stato del protocollo STP (Spanning Tree Protocol). In precedenza, per VLAN era possibile solo un'approccio diretto allo STP (1:1), in cui ogni VLAN veniva gestita in modo indipendente. Nella nuova versione \u00e8 stato aggiunto il parametro mst_enable, che, se attivato, consente al modulo MST (Multiple Spanning Trees) di controllare lo stato delle VLAN e di adattare l'associazione delle VLAN al modello M:N.\n<li class=\"l\"> Prosegue il lavoro per l'integrazione nelle stack di rete di strumenti per il monitoraggio delle cause di scarto dei pacchetti (codici reason). Il codice della causa viene trasmesso durante il rilascio della memoria associata al pacchetto e permette di tenere conto di situazioni come lo scarto di pacchetti a causa di errori nel riempimento dei campi nell'intestazione, l'individuazione di spoofing da parte del filtro rp_filter, checksum non validi, esaurimento della memoria, attivazione delle regole IPSec XFRM, numero di sequenza TCP errato, ecc.\n<li class=\"l\"> \u00c8 stata fornita la possibilit\u00e0 di trasferire pacchetti di rete da programmi BPF eseguiti dallo spazio utente in modalit\u00e0 BPF_PROG_RUN, in cui i programmi BPF vengono eseguiti nel kernel, ma restituiscono il risultato allo spazio utente. I pacchetti vengono trasferiti utilizzando il sottosistema XDP (eXpress Data Path). \u00c8 supportata la modalit\u00e0 live per l'elaborazione dei pacchetti, in cui l'handler XDP pu\u00f2 reindirizzare al volo i pacchetti di rete nello stack di rete o ad altri dispositivi. \u00c8 anche possibile creare generatori software di traffico esterno o inserire frame di rete nello stack di rete.\n<li class=\"l\"> Per i programmi BPF collegati a cgroups di rete, sono state proposte funzioni ausiliarie per impostare esplicitamente il valore restituito dalle chiamate di sistema, consentendo di fornire informazioni pi\u00f9 complete sulle ragioni del blocco della chiamata di sistema.\n<li class=\"l\"> Nella sottosistema XDP (eXpress Data Path) \u00e8 stata aggiunta la supporto per pacchetti frammentati, memorizzati in pi\u00f9 buffer, il che consente di elaborare Jumbo frame in XDP e applicare TSO\/GRO (TCP Segmentation Offload\/Generic Receive Offload) per XDP_REDIRECT.\n<li class=\"l\"> Il processo di rimozione degli spazi di rete \u00e8 stato notevolmente accelerato, una richiesta emersa in alcuni grandi sistemi con un elevato volume di traffico.                      <\/ul>\n<li class=\"l\"> <b>Attrezzature<\/b>\n<ul>\n<li class=\"l\"> Nel driver amdgpu \u00e8 attivata per default la tecnologia di sincronizzazione adattativa FreeSync, che consente di regolare la frequenza di aggiornamento del display, garantendo fluidit\u00e0 e assenza di sfarfallio durante i giochi e la visione di video. Supporto stabile annunciato per la GPU Aldebaran.\n<li class=\"l\"> Nel driver i915 \u00e8 stata aggiunta la compatibilit\u00e0 con i chip Intel Alderlake N e le schede grafiche discrete Intel DG2-G12 (Arc Alchemist).\n<li class=\"l\"> Nel driver nouveau \u00e8 stata garantita la compatibilit\u00e0 con bitrate pi\u00f9 elevati per le interfacce DP\/eDP e il supporto per gli estensori di cavo lttprs (Link-Training Tunable PHY Repeaters).\n<li class=\"l\"> Nel sottosistema drm (Direct Rendering Manager) nei driver armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen e vc4 \u00e8 stato aggiunto il supporto per il parametro nomodeset, che consente di disabilitare il cambio delle modalit\u00e0 video a livello kernel e l'uso di mezzi per l'accelerazione hardware del rendering, mantenendo solo le funzionalit\u00e0 legate al framebuffer di sistema.\n<li class=\"l\"> Aggiunta la supporto per ARM SoC Qualcomm Snapdragon 625\/632 (utilizzato negli smartphone LG Nexus 5X e Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (utilizzato in Samsung Galaxy A8), Airoha (Mediatek\/EcoNet) EN7523, Mediatek mt6582 (tablet Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ\/G2LC, RZ\/V2L, Tesla FSD, TI K3\/AM62 e i.MXRTxxxx.\n<li class=\"l\"> Aggiunta la supporto per dispositivi ARM e schede Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S, tablet Prestigio PMT5008 3G), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 e OSMC Vero 4K+), Aspeed (Quanta S6Q, ASRock ROMED8HM3), Marvell MVEBU\/Armada (Ctera C200 V1 e V2 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW7903).\n<li class=\"l\"> Aggiunta la supporto per i sistemi audio e codec AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ\/V2L, Texas Instruments TAS585M. Aggiunta l'implementazione iniziale del driver audio per il chip DSP Intel AVS. Aggiornato il supporto per i driver di Intel ADL e Tegra234, e apportate modifiche per migliorare il supporto audio sui dispositivi Dell, HP, Lenovo, ASUS, Samsung e Clevo.    <\/ul>\n<p>Nel contempo, la Fondazione latinoamericana per il Software Libero ha creato una versione completamente libera del kernel 5.18 \u2014 Linux-libre 5.18-gnu, depurata da elementi di firmware e driver contenenti componenti non liberi o parti di codice con limitazioni imposte dal produttore. Nel nuovo rilascio sono stati ripuliti i driver per i pannelli MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) e Realtek 8852a\/8852c, chip audio Intel AVS e Texas Instruments TAS5805M. \u00c8 stata effettuata anche una pulizia dei file DTS per diversi SoC Qualcomm con processori basati sull'architettura AArch64. \u00c8 stato aggiornato il codice di pulizia dei blob nei driver e nelle sottosistemi AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectrum Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART.                         <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57235\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.18. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0438\u0441\u0442\u043a\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u0424\u0421 Reiserfs, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u043e\u0432 Intel IBT, \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0440\u0435\u0436\u0438\u043c \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0444\u0435\u0440\u043e\u0432 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memcpy(), \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 fprobe, \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104123","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.18.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.18 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.18.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-18\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-05-23T13:36:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-05-23T13:36:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Rilascio del kernel Linux 5.18 | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux 5.18.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.18 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.18.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-18","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-05-23T13:36:40+00:00","article:modified_time":"2022-05-23T13:36:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104123","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 18:15:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-05-23 13:37:44","updated":"2026-02-09 18:15:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/104123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=104123"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/104123\/revisions"}],"predecessor-version":[{"id":159344,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/104123\/revisions\/159344"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=104123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=104123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=104123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}