{"id":76046,"date":"2020-03-30T19:42:02","date_gmt":"2020-03-30T17:42:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-5-6"},"modified":"2020-03-30T19:42:02","modified_gmt":"2020-03-30T17:42:02","slug":"reliz-yadra-linux-5-6","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-6","title":{"rendered":"Rilascio del kernel Linux 5.6","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo due mesi di sviluppo, Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/3\/29\/379\">ha presentato<\/a><\/noindex> rilascio del kernel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/\">Linux 5.6<\/a><\/noindex>. Tra i cambiamenti pi\u00f9 significativi: integrazione dell'interfaccia VPN WireGuard, supporto USB4, spazi dei nomi per il tempo, possibilit\u00e0 di creare gestori di sovraccarico TCP tramite BPF, supporto iniziale per MultiPath TCP, risoluzione del problema dell'anno 2038 nel kernel, meccanismo 'bootconfig', filesystem ZoneFS.<\/p>\n<p>Nella nuova versione sono stati inclusi 13702 correttivi da 1810 sviluppatori,<br \/>\ndimensione della patch \u2014 40 MB (le modifiche hanno coinvolto 11577 file, aggiunte 610012 righe di codice,<br \/>\neliminate 294828 righe). Circa il 45% di tutte le modifiche presentate in 5.6<br \/>\nsono legate ai driver di dispositivo, circa il 15% delle modifiche riguardano<br \/>\n\u00e8 relativo all'aggiornamento del codice specifico per architetture hardware, il 12%<br \/>\ncollegate allo stack di rete, 4% \u2014 alle filesystem e 3% a interni<br \/>\ninterni del kernel. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.6\">Principali<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/811230\/\">novit\u00e0<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <b>Sottosistema di rete<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51997\">\u00c8 stata aggiunta<\/a><\/noindex> realizzazione dell'interfaccia VPN  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wireguard.io\/\">WireGuard<\/a><\/noindex>, che \u00e8 basata su metodi di crittografia moderni (ChaCha20, Poly1305, Curve25519, BLAKE2s), semplice da usare, priva di complicazioni, ha dimostrato di funzionare bene in numerose implementazioni di grandi dimensioni e offre prestazioni molto elevate (supera OpenVPN di 3,9 volte in termini di throughput). In WireGuard viene applicata una concezione di instradamento basata su chiavi di crittografia, che implica l'associazione di una chiave privata a ciascuna interfaccia di rete e l'utilizzo per il collegamento delle chiavi pubbliche. Lo scambio di chiavi pubbliche per stabilire una connessione avviene per analogia con SSH. I primitivi crittografici necessari per il funzionamento di WireGuard <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=0ed42a6f431e930b2e8fae21955406e09fe75d70\">ci sono stati<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=66d7fb94e4ffe5acc589e0b2b4710aecc1f07a28\">sono stati trasferiti<\/a><\/noindex> provengono dalla libreria  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=49064\">Zinc<\/a><\/noindex> nel Crypto API standard e <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=ed20078b7e3331e82828be357147af6a3282e4ce\">sono inclusi<\/a><\/noindex> nel nucleo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52256\">5.5<\/a><\/noindex>.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=bd2463ac7d7ec51d432f23bf0e893fb371a908cd\">\u00c8 iniziata<\/a><\/noindex> integrazione dei componenti necessari per supportare MPTCP (MultiPath TCP), un'estensione del protocollo TCP per gestire connessioni TCP con consegna dei pacchetti simultaneamente attraverso pi\u00f9 percorsi tramite diverse interfacce di rete associate a indirizzi IP diversi. Per le applicazioni di rete, una connessione aggregata di questo tipo appare come una normale connessione TCP, mentre tutta la logica di suddivisione dei flussi viene gestita da MPTCP. Multipath TCP pu\u00f2 essere utilizzato sia per aumentare la larghezza di banda sia per migliorare l'affidabilit\u00e0. Ad esempio, MPTCP pu\u00f2 essere utilizzato per trasferire dati su uno smartphone utilizzando contemporaneamente collegamenti WiFi e 4G oppure per ridurre i costi collegando un server con pi\u00f9 collegamenti economici invece di uno costoso.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=dcc68b4d8084\">\u00c8 stata aggiunta<\/a><\/noindex> supporto della disciplina di gestione delle code di rete sch_ets (<noindex><a rel=\"nofollow\" href=\"https:\/\/1.ieee802.org\/dcb\/802-1qaz\/\">Enhanced Transmission Selection<\/a><\/noindex>, IEEE 802.1Qaz), che fornisce la possibilit\u00e0 di distribuzione della larghezza di banda tra diverse classi di traffico. Se il carico su una determinata classe di traffico \u00e8 inferiore alla larghezza di banda fornita, ETS consente ad altre classi di traffico di utilizzare la larghezza di banda disponibile (non utilizzata). Qdisc sch_ets \u00e8 configurato come disciplina PRIO e utilizza classi di traffico per definire i vincoli di larghezza di banda rigorosi e condivisi. ETS funziona come una combinazione di discipline <noindex><a rel=\"nofollow\" href=\"https:\/\/linux.die.net\/man\/8\/tc-prio\">PRIO<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man8\/tc-drr.8.html\">DRR<\/a><\/noindex> \u2014 in presenza di classi di traffico rigidamente limitate si utilizza PRIO, ma se nella coda del traffico non ci sono, funziona come DRR.\n<li class=\"l\"> Aggiunto un nuovo tipo di programmi BPF <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=27ae7997a661\">BPF_PROG_TYPE_STRUCT_OPS<\/a><\/noindex>, che consente di implementare gestori di funzioni del kernel tramite BPF. Attualmente, questa possibilit\u00e0 pu\u00f2 gi\u00e0 essere utilizzata per implementare algoritmi di controllo del sovraccarico TCP sotto forma di programmi BPF. Come esempio <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=09903869f69f\">offerta<\/a><\/noindex> programma BPF con implementazione dell'algoritmo <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8257\">DCTCP<\/a><\/noindex>.\n<li class=\"l\"> Nel kernel sono state accolte <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=1b3b289fd8da\">cambiamenti<\/a><\/noindex>, che traducono strumenti  <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Ethtool\">ethtool<\/a><\/noindex> da ioctl() all'uso di <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=2b4a8990b7df\">interfaccia netlink<\/a><\/noindex>. Il nuovo interfaccia semplifica l'aggiunta di estensioni, migliora la gestione degli errori, consente di inviare notifiche quando lo stato cambia, semplifica l'interazione tra il kernel e lo spazio utente e riduce il numero di elenchi nominati da sincronizzare.\n<li class=\"l\"> Aggiunta l'implementazione dell'algoritmo per la gestione delle code di rete FQ-PIE (Flow Queue PIE), mirato a ridurre l'impatto negativo del buffering intermedio dei pacchetti sulle apparecchiature di rete di confine (bufferbloat). FQ-PIE dimostra alta efficienza quando utilizzato in sistemi con modem via cavo.\n<\/ul>\n<li class=\"l\"> <b>Sottosistema di disco, input\/output e file system<\/b>\n<ul>\n<li class=\"l\"> Per il file system Btrfs <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52228\">\u00e8 stata aggiunta<\/a><\/noindex> implementazione asincrona dell'operazione DISCARD (segnalazione dei blocchi liberati che non devono pi\u00f9 essere conservati fisicamente). Inizialmente, le operazioni DISCARD venivano eseguite in modo sincrono, il che poteva portare a una diminuzione delle prestazioni a causa dell'attesa del completamento dei comandi pertinenti da parte dei dischi. L'implementazione asincrona consente di non attendere il completamento del DISCARD da parte del disco e di eseguire l'operazione in background.\n<li class=\"l\"> In XFS <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=91f1a9566f387137f2da1957792a8f9f07cd058f\">\u00e8 stato svolto<\/a><\/noindex> pulizia del codice che utilizzava vecchi contatori di tempo a 32 bit (tipo time_t sostituito con time64_t), causando il problema del 2038. Risolti errori e danneggiamenti della memoria che si manifestavano su piattaforme a 32 bit. Ripensato il codice per lavorare con attributi estesi.\n<li class=\"l\"> nel file system ext4 <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=e5da4c933c50d98d7990a7c1ca0bbf8946e80c4a\">sono stati apportati<\/a><\/noindex> ottimizzazioni delle prestazioni correlate alla gestione del blocco inode durante le operazioni di lettura e scrittura. Aumentata la prestazione di riscrittura in modalit\u00e0 input\/output diretto (Direct I\/O). Per semplificare la diagnosi dei problemi \u00e8 stato garantito il salvataggio nel superblocco dei primi e ultimi codici di errore.\n<li class=\"l\"> Nel file system F2FS <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=4c8ff7095bef\">\u00e8 stata implementata<\/a><\/noindex> possibilit\u00e0 di memorizzare i dati in formato compresso. Per un singolo file o directory, la compressione pu\u00f2 essere attivata con il comando 'chattr +c file' o 'chattr +c dir; touch dir\/file'. Per comprimere l'intera partizione, nell'utilit\u00e0 mount si pu\u00f2 usare l'opzione '-o compress_extension=ext'.\n<li class=\"l\"> \u00c8 stata adottata la file system <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52092\">ZoneFS<\/a><\/noindex>, che semplifica il lavoro a basso livello con dispositivi di archiviazione zonati. Per dispositivi di archiviazione zonati si intendono dispositivi a dischi magnetici rigidi o NVMe SSD, il cui spazio di archiviazione \u00e8 suddiviso in zone che costituiscono gruppi di blocchi o settori, nei quali \u00e8 consentita solo l'aggiunta sequenziale dei dati con l'aggiornamento dell'intero gruppo di blocchi. Il file system ZoneFS \u00e8 stato sviluppato da Western Digital e associa ogni zona nel supporto a un file separato, che pu\u00f2 essere utilizzato per memorizzare i dati in modalit\u00e0 raw senza manovre a livello di settori e blocchi, ovvero consente alle applicazioni di utilizzare l'API di file invece di accedere direttamente al dispositivo a blocchi tramite ioctl.\n<li class=\"l\"> NFS ha disabilitato per default il montaggio delle partizioni sopra UDP. Aggiunto supporto per la funzionalit\u00e0 di copia diretta di file tra server specificata nella documentazione NFS 4.2. Aggiunta una nuova opzione di montaggio 'softreval', che in caso di guasto del server consente di utilizzare i valori degli attributi memorizzati nella cache. Ad esempio, specificando questa opzione dopo l'indisponibilit\u00e0 del server, rimane possibile navigare nei percorsi nella partizione NFS e accedere alle informazioni che sono rimaste nella cache.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c8994374d90b5823b3b29a5e5d8648ac418b57b4\">Condotta<\/a><\/noindex> ottimizzazione delle prestazioni del meccanismo fs-verity, utilizzato per il controllo dell'integrit\u00e0 e la verifica dell'autenticit\u00e0 di singoli file. Aumentata la velocit\u00e0 di lettura sequenziale grazie all'utilizzo di un albero hash di Merkle. Ottimizzata la produttivit\u00e0 di FS_IOC_ENABLE_VERITY in condizioni di assenza di dati nella cache (applicata lettura preventiva delle pagine con dati).\n<\/ul>\n<li class=\"l\"> <b>Virtualizzazione e sicurezza<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stata dichiarata obsoleta la possibilit\u00e0 di disabilitare il modulo SELinux durante il funzionamento, e in futuro il caricamento di SELinux gi\u00e0 attivato sar\u00e0 vietato. Per disabilitare SELinux sar\u00e0 necessario passare il parametro 'selinux=0' nella riga di comando del kernel.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=769071ac9f20\">\u00c8 stata aggiunta<\/a><\/noindex> supporto per gli spazi dei nomi temporali (time namespaces), che consentono di associare allo stato delle ore di sistema (CLOCK_REALTIME,<br \/>\nCLOCK_MONOTONIC, CLOCK_BOOTTIME) lo stato temporale del container e garantire la coerenza delle misurazioni CLOCK_MONOTONIC e CLOCK_BOOTTIME durante la migrazione del container su un altro host (considerando il tempo dopo l'avvio, con o senza considerazione del sonno).<\/p>\n<li class=\"l\"> Rimosso il pool bloccato \/dev\/random. Il comportamento di \/dev\/random \u00e8 stato avvicinato a \/dev\/urandom in termini di prevenzione del blocco dell'entropia dopo l'inizializzazione del pool.\n<li class=\"l\"> \u00c8 stato incluso nel kernel principale un driver che consente ai sistemi guest che operano sotto VirtualBox di montare le directory esportate dall'ambiente host (VirtualBox Shared Folder).\n<li class=\"l\"> Nel sotto-sistema BPF \u00e8 stato aggiunto un set di patch (<noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/808503\/\">BPF dispatcher<\/a><\/noindex>), nell'ambito dell'applicazione del meccanismo Retpoline per proteggere contro gli attacchi di tipo Spectre V2, che consente di migliorare l'efficienza della chiamata dei programmi BPF al verificarsi degli eventi a essi legati (ad esempio, consente di accelerare la chiamata dei gestori XDP all'arrivo di un pacchetto di rete).\n<li class=\"l\"> Aggiunto un driver per supportare gli ambienti TEE (Trusted Execution Environment) integrati negli APU AMD.\n<\/ul>\n<li class=\"l\"> <b>Memoria e servizi di sistema<\/b>\n<ul>\n<li class=\"l\"> Nel BPF \u00e8 stato aggiunto il supporto per funzioni globali. Lo sviluppo avviene nell'ambito di un'iniziativa per aggiungere supporto per librerie di funzioni che possono essere collegate nei programmi BPF. Il prossimo passo sar\u00e0 il supporto per estensioni dinamiche, che consentiranno di caricare funzioni globali, anche per sostituire le funzioni globali esistenti durante il loro utilizzo. Nel sotto-sistema BPF \u00e8 stato anche aggiunto il supporto per una variante dell'operazione map (utilizzata per memorizzare dati permanenti), supportando l'esecuzione in modalit\u00e0 batch.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=0a1990a2d1f2\">Aggiunto<\/a><\/noindex> dispositivo 'cpu_cooling' che consente di raffreddare la CPU surriscaldata mettendola in stato di inattivit\u00e0 (idle) per brevi periodi di tempo.\n<li class=\"l\"> Aggiunta la chiamata di sistema <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/796868\/\">openat2()<\/a><\/noindex>, offre un insieme di flag aggiuntivi per limitare la risoluzione del percorso dei file (divieto di attraversare punti di montaggio, collegamenti simbolici, collegamenti magic (\/proc\/PID\/fd), componenti '..').\n<li class=\"l\"> Per i sistemi eterogenei basati sull'architettura big.LITTLE, che combinano in un unico chip core CPU potenti e meno prestazionali a risparmio energetico, \u00e8 garantita l'impostazione del parametro uclamp_min (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50201\">introdotto<\/a><\/noindex> nel kernel 5.3 come meccanismo di assegnazione del carico). Il parametro specificato garantisce che il task venga posizionato dallo scheduler su un core CPU con sufficiente potenza.\n<li class=\"l\"> Il kernel \u00e8 stato esentato da <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0\">il problema del 2038<\/a><\/noindex>. Sostituiti gli ultimi gestori rimasti in cui il contatore del tempo epocale utilizzava un tipo time_t a 32 bit (signed int), che dovr\u00e0 andare in overflow nel 2038 considerando il riferimento dal 1970.\n<li class=\"l\"> Proseguita l'ottimizzazione dell'interfaccia di input\/output asincrono <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50631#io_uring\">io_uring<\/a><\/noindex>, nella quale  <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/810414\/\">\u00e8 garantita<\/a><\/noindex> sono supportate nuove operazioni: IORING_OP_FALLOCATE (prenotazione di spazi vuoti), IORING_OP_OPENAT,<br \/>\n    IORING_OP_OPENAT2,<br \/>\n    IORING_OP_CLOSE (apertura e chiusura di file),<br \/>\n    IORING_OP_FILES_UPDATE (aggiunta e rimozione di file dall'elenco di accesso rapido),<br \/>\n IORING_OP_STATX (richiesta di informazioni su un file),<br \/>\n    IORING_OP_READ,<br \/>\n    IORING_OP_WRITE (analoghi semplificati di IORING_OP_READV e IORING_OP_WRITEV),<br \/>\n    IORING_OP_FADVISE,<br \/>\n    IORING_OP_MADVISE (varianti asincrone delle chiamate posix_fadvise e madvise), IORING_OP_SEND,<br \/>\n    IORING_OP_RECV (invio e ricezione di dati di rete),<br \/>\n    IORING_OP_EPOLL_CTL (esecuzione di operazioni sui descrittori di file epoll).<\/p>\n<li class=\"l\"> Aggiunta la chiamata di sistema <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/808997\/\">pidfd_getfd()<\/a><\/noindex>, che consente a un processo di estrarre da un altro processo un descrittore di file di un file aperto.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/7b9b816f4b9a\">Realizzato<\/a><\/noindex> meccanismo 'bootconfig', che consente, oltre alle opzioni della riga di comando, di definire parametri di funzionamento del kernel tramite un file di configurazione. Per aggiungere tali file all'immagine initramfs \u00e8 stata proposta l'utilit\u00e0 bootconfig. Questa funzionalit\u00e0 pu\u00f2 essere utilizzata, ad esempio, per configurare i kprobes durante l'avvio.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=0ddad21d3e99\">Ristrutturato<\/a><\/noindex> meccanismo di attesa per la registrazione e la lettura dei dati in canali non denominati (pipe). La modifica ha consentito di accelerare l'esecuzione di attivit\u00e0 come il montaggio parallelo di grandi progetti. Tuttavia, l'ottimizzazione pu\u00f2 portare a condizioni di competizione in GNU make a causa di un errore nella versione 4.2.1, risolto nella versione 4.3.\n<li class=\"l\"> In prctl() \u00e8 stato aggiunto il flag PR_SET_IO_FLUSHER, che pu\u00f2 essere utilizzato per contrassegnare i processi che si occupano del rilascio di memoria ai quali non dovrebbero essere applicate restrizioni in caso di carenza di memoria nel sistema.\n<li class=\"l\"> Sulla base del sistema di gestione della memoria ION utilizzato in Android, \u00e8 stato implementato un sottosistema <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/792733\/\">dma-buf heaps<\/a><\/noindex>, che consente di gestire l'allocazione dei buffer DMA per la condivisione delle aree di memoria tra driver, applicazioni e vari sottosistemi.\n<\/ul>\n<li class=\"l\"> <b>Architetture hardware<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per l'estensione E0PD, introdotta in ARMv8.5, che consente di implementare la protezione contro attacchi legati all'esecuzione speculativa delle istruzioni nella CPU. La protezione basata su E0PD comporta minori sovraccarichi rispetto alla protezione KPTI (Kernel Page Table Isolation).\n<li class=\"l\"> Per i sistemi basati sull'architettura ARMv8.5, \u00e8 stato aggiunto il supporto per l'istruzione RNG, che fornisce accesso al generatore hardware di numeri pseudocasuali. Nel kernel, l'istruzione RNG \u00e8 utilizzata per generare entropia durante l'inizializzazione del generatore di numeri pseudocasuali fornito dal kernel.\n<li class=\"l\"> \u00c8 stato rimosso il supporto per le estensioni MPX (Memory Protection Extensions), aggiunte nel kernel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=41634\">3.19<\/a><\/noindex> e che consentivano di organizzare la verifica dei puntatori per il rispetto dei limiti delle aree di memoria. Questa tecnologia non \u00e8 stata ampiamente adottata nei compilatori ed \u00e8 stata rimossa da GCC.\n<li class=\"l\"> Per l'architettura RISC-V \u00e8 stato implementato il supporto per lo strumento di debug KASan (Kernel address sanitizer), che consente di rilevare errori nella gestione della memoria.\n<\/ul>\n<li class=\"l\"> <b>Apparecchiatura<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stato implementato il supporto per la specifica <noindex><a rel=\"nofollow\" href=\"https:\/\/www.usb.org\/document-library\/usb4tm-specification\">USB 4.0<\/a><\/noindex>, che si basa sul protocollo Thunderbolt 3 e offre una larghezza di banda fino a 40 Gbit\/s, mantenendo la retrocompatibilit\u00e0 con USB 2.0 e USB 3.2. Analogamente a <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Thunderbolt\">Thunderbolt<\/a><\/noindex> , l'interfaccia USB 4.0 consente di tunnelare vari protocolli su un unico cavo con connettore <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/USB_Type-C\">Type-C<\/a><\/noindex>, inclusi PCIe, Display Port e USB 3.x, nonch\u00e9 implementazioni software dei protocolli, per esempio, per l'organizzazione di collegamenti di rete tra host. L'implementazione si basa gi\u00e0 sul driver Thunderbolt incluso nel kernel Linux e lo adatta per funzionare con host e dispositivi compatibili con USB4. Le modifiche aggiungono anche supporto per i dispositivi Thunderbolt 3 nell'implementazione software del gestore delle connessioni (Connection Manager), responsabile della creazione di tunnel per collegare pi\u00f9 dispositivi tramite una singola porta.\n<li class=\"l\"> Nel driver amdgpu <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=9f68e3655aae6d49d6ba05dd263f99f33c2567af\">\u00e8 stata aggiunta<\/a><\/noindex> \u00e8 stata introdotta la prima supporto per la tecnologia di protezione dalla copia HDCP 2.x (High-bandwidth Digital Content Protection). \u00c8 stata aggiunta la supporto per il chip ASIC AMD Pollock, basato su Raven 2. \u00c8 stata implementata la possibilit\u00e0 di ripristinare la GPU per le famiglie Renoir e Navi.\n<li class=\"l\"> Nel driver DRM per schede grafiche Intel <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=9f68e3655aae6d49d6ba05dd263f99f33c2567af\">\u00e8 stata aggiunta<\/a><\/noindex> il supporto DSI VDSC \u00e8 stato implementato per i chip basati sull'architettura Ice Lake e Tiger Lake, \u00e8 stata realizzata l'integrazione di LMEM mmap (memoria locale del dispositivo), \u00e8 stata migliorata l'analisi del VBT (Video BIOS Table) e implementato il supporto HDCP 2.2 per i chip Coffee Lake.\n<li class=\"l\"> Si \u00e8 continuato a lavorare per unificare il codice del driver amdkfd (per GPU discrete, come Fiji, Tonga, Polaris) con il driver amdgpu.\n<li class=\"l\"> Il driver k10temp \u00e8 stato revisionato, con supporto per la visualizzazione dei parametri di tensione e corrente per le CPU AMD Zen, nonch\u00e9 informazioni dettagliate dai sensori di temperatura utilizzati nelle CPU Zen e Zen 2.\n<li class=\"l\"> Nel driver nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=9f68e3655aae6d49d6ba05dd263f99f33c2567af\">\u00e8 stata aggiunta<\/a><\/noindex> \u00e8 stato implementato il supporto per la modalit\u00e0 di verifica del caricamento del firmware per le GPU NVIDIA basate sull'architettura Turing (GeForce RTX 2000), il che ha permesso di attivare il supporto per l'accelerazione 3D per queste schede (\u00e8 necessario caricare firmware ufficiali con firma digitale NVIDIA). \u00c8 stato aggiunto supporto per il motore grafico TU10x. Sono stati risolti problemi con l'HD Audio.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per la compressione dei dati durante la trasmissione tramite DisplayPort MST (Multi-Stream Transport).\n<li class=\"l\"> Aggiunto un nuovo driver '<noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/796850\/\">ath11k<\/a><\/noindex>&#187; per i chip wireless Qualcomm con supporto 802.11ax.<br \/>\nIl driver \u00e8 basato sullo stack mac80211 e supporta le modalit\u00e0 access point, workstation e nodo di rete Mesh.<\/p>\n<li class=\"l\"> Attraverso sysfs \u00e8 stato fornito accesso alle letture dei sensori di temperatura utilizzati nei moderni dischi rigidi e SSD.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=80fe7430c708\">Apportate<\/a><\/noindex> ci sono stati cambiamenti significativi nel sistema audio ALSA, mirati a rimuovere il codice da <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0\">il problema del 2038<\/a><\/noindex> (abbandono dell'uso del tipo di tempo a 32 bit time_t nelle interfacce snd_pcm_mmap_status e snd_pcm_mmap_control). \u00c8 stato aggiunto il supporto per i nuovi codec audio<br \/>\n Qualcomm WCD9340\/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=9f68e3655aae6d49d6ba05dd263f99f33c2567af\">Aggiunti<\/a><\/noindex> driver per pannelli LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,<br \/>\n    BOE NV140FHM-N49,<br \/>\n    Satoz SAT050AT40H12R2,<br \/>\n    Sharp LS020B1DD01D.<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=1afa9c3b7c9bdcb562e2afe9f58cc99d0b071cdc\">\u00c8 stata aggiunta<\/a><\/noindex> supporto per schede ARM e piattaforme Gen1 Amazon Echo (basate su OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,<br \/>\n Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,<br \/>\nlettore eBook Tolino Shine 3,<br \/>\n Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX\/ITX e HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),<br \/>\n Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM<br \/>\nST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel\/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703\/AM3715\/DM3725, ST Ericsson ab8505, Unisoc SC9863A, Qualcomm SC7180. Supporto aggiunto per il controller PCIe utilizzato in Raspberry Pi 4.<\/p>\n<\/ul>\n<\/ul>\n<p>Contemporaneamente, il Fondo latinoamericano per il software libero <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">ha creato<\/a><\/noindex><br \/>\nuna versione <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">nucleo completamente libero 5.6<\/a><\/noindex> &#8212; <noindex><a rel=\"nofollow\" href=\"http:\/\/linux-libre.fsfla.org\/pub\/linux-libre\/releases\/5.6-gnu\/\">Linux-libre 5.6-gnu<\/a><\/noindex>, ripulito da elementi di firmware e driver contenenti componenti o porzioni di codice non liberi, la cui area di applicazione \u00e8 limitata dal produttore. Nella nuova versione \u00e8 stata disabilitata il caricamento di blob nei driver per AMD TEE, ATH11K e Mediatek SCP. Il codice di pulizia dei blob nei driver e nelle sottosistemi AMD PSP, amdgpu e nouveau \u00e8 stato aggiornato.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52632\">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.6. \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: \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f VPN-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 WireGuard, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 USB4, \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0451\u043d \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0438 TCP \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 BPF, \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 MultiPath TCP, \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u044f\u0434\u0440\u0430 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b 2038 \u0433\u043e\u0434\u0430, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c &#171;bootconfig&#187;, \u0424\u0421 ZoneFS. \u0412 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u0438\u043d\u044f\u0442\u043e 13702 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043e\u0442 1810 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, [&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-76046","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.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.\" \/>\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-6\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.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.6 | 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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-6\" \/>\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=\"2020-03-30T17:42:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-30T17:42:02+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.6 | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-6","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.6 | 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.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-6","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":"2020-03-30T17:42:02+00:00","article:modified_time":"2020-03-30T17:42:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"76046","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:44:27","updated":"2022-10-03 19:48:02","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\/76046","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=76046"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/76046\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=76046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=76046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=76046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}