{"id":123227,"date":"2025-04-03T22:00:01","date_gmt":"2025-04-03T20:00:01","guid":{"rendered":"https:\/\/prohoster.info\/?p=123227"},"modified":"2025-04-03T22:00:01","modified_gmt":"2025-04-03T20:00:01","slug":"linux-6-14","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/linux-6-14","title":{"rendered":"Linux 6.14","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Linux 6.14\" src=\"\/wp-content\/uploads\/2025\/04\/bb26294c504a79981549ca07f72d9c4a.jpg\" style=\"display:block;margin: 0 auto;\" \/>                              <noindex>      <noindex><\/p>\n<p>Dopo due mesi di sviluppo, Linus Torvalds <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/CAHk-=wg7TO09Si5tTPyhdrLLvyYtVmCf+GGN4kVJ0=Xk=5TE3g@mail.gmail.com\/T\/\">ha presentato<\/a> il rilascio del kernel Linux 6.14. Tra le modifiche pi\u00f9 significative: driver ntsync con primitive di sincronizzazione Windows NT, configurazione del bilanciamento delle operazioni di lettura in Btrfs RAID1, supporto per reflink in XFS in modalit\u00e0 realtime, possibilit\u00e0 di input\/output bufferizzato non cacheabile, cgroup dmem per limitare la memoria GPU, utilizzo di io_uring in FUSE, delega degli attributi in NFS, supporto per la scrittura atomica in Device mapper, accelerazione dei collegamenti simbolici, gestione della possibilit\u00e0 di eseguire script, supporto per i chip Qualcomm Snapdragon 8 Elite, driver per NPU AMD.<\/p>\n<p><\/noindex><\/noindex> <\/p>\n<p>Nella nuova versione sono stati introdotti 12115 fix da 1984 sviluppatori, la dimensione della patch \u00e8 di 39 MB (le modifiche hanno interessato 10170 file, sono stati aggiunti 531586 righe di codice e rimosse 235999 righe). Nell'uscita precedente c'erano 14172 fix da 2086 sviluppatori, la dimensione della patch era di 46 MB. Circa il 41% di tutte le modifiche presentate in 6.14 riguardano i driver dei dispositivi, circa il 13% delle modifiche riguarda l'aggiornamento del codice specifico per architetture hardware, il 14% \u00e8 collegato allo stack di rete, il 7% ai file system e il 4% ai sottosistemi interni del kernel.<\/p>\n<p>  <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_6.14\">Principali<\/a> <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/1006378\/\">novit\u00e0<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li><strong>Sottosistema di disco, input\/output e file system<\/strong>\n<ul>\n<li>Nel file system Btrfs <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=6d7a9154955e\">\u00e8 comparso<\/a> supporto per nuovi metodi di bilanciamento delle operazioni di lettura tra i dischi che compongono l'array RAID1. Oltre alla precedente distribuzione del carico basata sugli identificatori dei processi (pid), nella nuova versione sono state proposte tre nuove modalit\u00e0 di bilanciamento: \u00abrotation\u00bb (distribuzione uniforme del carico su tutti i dischi, modalit\u00e0 attivata di default); \u00ablatency\u00bb (distribuzione tenendo conto dei ritardi, utile in caso di guasti o malfunzionamenti dei dischi); devid (controllo manuale). Per cambiare modalit\u00e0 di bilanciamento <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c86aae73bd58\">\u00e8 stata aggiunta<\/a> interfaccia \/sys\/fs\/btrfs\/\/read_policy. Tra le altre modifiche in Btrfs \u2013 <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/bfcf6d04f8ee817b2cb7c238e0a14392a3245f45\">una realizzazione<\/a> ioctl FS_IOC_READ_VERITY_METADATA.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20241220154831.1086649-1-axboe@kernel.dk\/T\/\">Aggiunto<\/a> modalit\u00e0 di input\/output bufferizzato non cacheabile, in cui i dati vengono rimossi dalla cache delle pagine subito dopo che le operazioni di lettura o scrittura sono completate. Questa modifica pu\u00f2 essere utile quando si utilizzano dispositivi di archiviazione molto veloci, il caching delle operazioni in memoria \u00e8 superfluo. Per tali dispositivi, la nuova modalit\u00e0 permette di evitare l'uso eccessivo della memoria da parte della cache delle pagine senza ricorrere a un complicato API di input\/output diretto (Direct I\/O).<\/li>\n<li>In fsnotify, il meccanismo per monitorare le modifiche nel FS, <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-fsdevel\/20241121112218.8249-1-jack@suse.cz\/T\/\">aggiunto<\/a> nuovo evento FS_PRE_ACCESS, generato nella fase precedente all'accesso al contenuto di un file. L'evento viene elaborato in modalit\u00e0 sincrona, ovvero il kernel invia l'evento e attende di ricevere una risposta. Se viene ricevuta una risposta, l'operazione viene eseguita, e in caso di errore, la chiamata di sistema restituisce al processo utente un codice di errore. Tramite FS_PRE_ACCESS, un processo nello spazio utente pu\u00f2, ad esempio, organizzare la scrittura di un file man mano che i dati diventano disponibili in uno storage lento.<\/li>\n<li>Nel sottosistema FUSE, che consente di creare implementazioni di file system nello spazio utente, \u00e8 stata aggiunta <a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/next\/filesystems\/fuse-io-uring.html\">highlightsFromPoint()<\/a> la possibilit\u00e0 di scambiare dati tra il nucleo e il gestore nello spazio utente utilizzando il meccanismo di input\/output io_uring. Questa modifica permette di aumentare le prestazioni di FUSE riducendo i cambi di contesto tra il nucleo e lo spazio utente.<\/li>\n<li>Nel file system XFS \u00e8 stata aggiunta <a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/linux\/post\/xfs-realtime-device\">la possibilit\u00e0<\/a> utilizzo del reverse mapping (rmap, reverse-mapping) in modalit\u00e0 operativa con ritardi prevedibili (\u00abrealtime device\u00bb). Il reverse mapping consente di determinare quale file sta utilizzando un certo blocco sul dispositivo di storage. Con rmap in XFS per la modalit\u00e0 realtime \u00e8 stato implementato il supporto per l'operazione reflink, che consente di creare copie di file mediante la clonazione dei metadati del file e la creazione di un link ai dati gi\u00e0 esistenti senza effettivamente copiarli.<\/li>\n<li>Nel VFS <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=ea382199071931d19aac5f688b543e07360e2b64\">\u00e8 implementato<\/a> \u00e8 stata implementata la memorizzazione nella cache della dimensione dei collegamenti simbolici, permettendo di accelerare dell'1.5% l'esecuzione dell'operazione readlink (nel test con \/initrd.img in ext4). La memorizzazione nella cache \u00e8 attivata nei file system ext4 e tmpfs.<\/li>\n<li>Nell'implementazione di NFSv4.2 \u00e8 stato aggiunto il supporto per <a rel=\"nofollow\" href=\"https:\/\/www.ietf.org\/archive\/id\/draft-ietf-nfsv4-delstid-08.html\">la delega degli attributi dei file<\/a>, consentendo di gestire attributi dei file come il tempo di modifica (mtime) dal lato del client NFS, senza la necessit\u00e0 di ripristinare le modifiche sul server. In NFS \u00e8 migliorato anche il supporto per il protocollo &laquo;<a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/next\/filesystems\/nfs\/localio.html\">LOCALIO<\/a>&raquo;, che consente di determinare se il client e il server NFS si trovano sulla stessa macchina, per attivare ottimizzazioni appropriate, come l'uso da parte del client di input\/output diretto (Direct I\/O).<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20241216204124.3752367-1-dhowells@redhat.com\/T\/\">Aumentata<\/a> le prestazioni delle operazioni di lettura nei file system NETFS, CIFS e AFS (Andrew File System).<\/li>\n<li>In Squashfs <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20241229233752.54481-1-phillip@squashfs.org.uk\/T\/\">\u00e8 attivato<\/a> modalit\u00e0 di caricamento diretto dei blocchi nella cache della pagina (SQUASHFS_FILE_DIRECT), che consente di fare a meno di una cache separata per read_page. La modifica ha permesso di ridurre la dimensione della memoria consumata durante l'operazione di Squashfs.<\/li>\n<li>nella chiamata di sistema statx() <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-man\/20250108085900.GA27227@lst.de\/T\/\">\u00e8 stato implementato<\/a> flag STATX_DIO_READ_ALIGN, per determinare l'allineamento necessario per le operazioni di lettura da un file.<\/li>\n<li>nel file system Bcachefs <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=2622f2904170\">\u00e8 stato aggiornato<\/a> e <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62731\">stabilizzato<\/a> il formato delle strutture disco. Qualsiasi ulteriore modifica del formato sar\u00e0 considerata opzionale e verr\u00e0 implementata sotto forma di estensioni facoltative. \u00c8 stata notevolmente aumentata la velocit\u00e0 di verifica dell'integrit\u00e0 del FS. Inoltre, in Bcachefs \u00e8 stata migliorata la modalit\u00e0 di sola lettura; risolti problemi che portavano a accessi alla memoria dopo il rilascio (use after free); risolti problemi con i puntatori reflink in fsck; corretta la gestione del riavvio delle transazioni.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=127186cfb184\">Restituito<\/a> il modulo md-linear, progettato per unire dispositivi a blocchi. Questo modulo era stato precedentemente dichiarato obsoleto e rimosso dal kernel 6.8, ma si \u00e8 rivelato molto richiesto e quindi ora \u00e8 stato ripristinato.<\/li>\n<li>I file system F2FS e SQUASHFS sono stati convertiti per utilizzare <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56478#folios\">di fogli di memoria<\/a> (page folios).<\/li>\n<li>Nel driver <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=b56426bcf880d0f14a482c302ab7e37f3e6c3583\">null_blk<\/a> \u00e8 stato implementato l'attributo &laquo;rotational&raquo;, impostato tramite configfs, che consente di simulare il funzionamento con dispositivi basati su dischi rotanti per semplificare il testing delle funzionalit\u00e0 del kernel.<\/li>\n<li>Nel sistema Device mapper e nei moduli dm-mirror, dm-io, dm-table, dm-linear, dm-stripe e dm-raid1 <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-scsi\/20250116170301.474130-1-john.g.garry@oracle.com\/T\/\">\u00e8 stata implementata<\/a> supporto per la scrittura atomica.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Memoria e servizi di sistema<\/strong>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kselftest\/20241213193511.457338-1-zfigura@codeweavers.com\/T\/\">Completata<\/a> l'integrazione nel kernel del driver <a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/next\/userspace-api\/ntsync.html\">ntsync<\/a>, che implementa il dispositivo carattere \/dev\/ntsync e un set di primitive di sincronizzazione utilizzate nel kernel di Windows NT. L'implementazione di tali primitive a livello di kernel consente di migliorare notevolmente le prestazioni dei giochi Windows eseguiti tramite Wine. L'incremento delle prestazioni \u00e8 dovuto all'eliminazione delle spese generali legate all'uso di RPC nello spazio degli utenti. La creazione di un driver separato per il kernel Linux \u00e8 giustificata dalla difficolt\u00e0 di implementare correttamente l'API di sincronizzazione NT sopra le primitive esistenti nel kernel.<\/li>\n<li>Aggiunto un nuovo controller cgroup <a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/next\/admin-guide\/cgroup-v2.html#dmem\">DMEM<\/a> per la gestione separata delle aree di memoria dei dispositivi, come GPU. DMEM consente di creare cgroup separate per diverse attivit\u00e0 che utilizzano la GPU, in modo che possano essere eseguite senza influenzarsi a vicenda. Questa nuova funzionalit\u00e0 risolve il problema della terminazione forzata delle operazioni con la GPU quando la memoria disponibile viene esaurita, grazie alla gestione della memoria riflessa della GPU e della memoria utilizzata dai driver CPU in cgroup separate.<\/li>\n<li>Sono state apportate ottimizzazioni per scalare l'operazione di flush della cache TLB (Translation Lookaside Buffer), utilizzata per accelerare la conversione degli indirizzi virtuali in fisici. Le ottimizzazioni aggiunte riguardano l'aggiornamento ritardato di alcune strutture dati durante il passaggio di contesto, il che consente di migliorare le prestazioni durante l'esecuzione di alcuni test.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20241231043538.4075764-1-yuzhao@google.com\/T\/\">Aumentata<\/a> la performance del meccanismo <a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/admin-guide\/mm\/multigen_lru.html\">MGLRU<\/a> (Multi-Generational LRU), utilizzato per determinare quali pagine di memoria sono utilizzate e quali possono essere espulse nell'area di swap.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=e3610441d1fb\">Proseguito<\/a> trasferimento delle modifiche dal ramo <a rel=\"nofollow\" href=\"https:\/\/github.com\/Rust-for-Linux\/linux\">Rust-for-Linux<\/a>, legate all'uso del linguaggio Rust come secondo linguaggio per lo sviluppo di driver e moduli del kernel (il supporto per Rust non \u00e8 attivato per impostazione predefinita e non comporta l'inclusione di Rust tra le dipendenze di compilazione obbligatorie del kernel). \u00c8 stata fornita la possibilit\u00e0 di utilizzare nel codice del kernel il macro &laquo;<a rel=\"nofollow\" href=\"https:\/\/doc.rust-lang.org\/nightly\/std\/marker\/derive.CoercePointee.html\">derive(CoercePointee)<\/a>&raquo;, che consente di utilizzare puntatori intelligenti con oggetti trait. All'interno del kernel <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=2ab002c755bfa88777e3f2db884d531f3010736c\">sono inclusi<\/a> Wrapper Rust per <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/diff\/rust\/kernel\/pci.rs?id=2ab002c755bfa88777e3f2db884d531f3010736c\">PCI<\/a>, <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/diff\/rust\/kernel\/platform.rs?id=2ab002c755bfa88777e3f2db884d531f3010736c\">piattaforme<\/a>, <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/diff\/rust\/kernel\/of.rs?id=2ab002c755bfa88777e3f2db884d531f3010736c\">Open Firmware<\/a>, <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/diff\/rust\/kernel\/miscdevice.rs?id=2ab002c755bfa88777e3f2db884d531f3010736c\">dispositivi simbolici<\/a> e alcune <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/diff\/rust\/kernel\/io.rs?id=2ab002c755bfa88777e3f2db884d531f3010736c\">funzionalit\u00e0 di input\/output<\/a>. Greg Kroah-Hartman, responsabile del supporto della branch stabile del kernel Linux, <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/Z5kokYUDYEO2Cknj@kroah.com\/\">ha caratterizzato<\/a> lo stato attuale, come &laquo;quasi pronto per scrivere un driver reale in Rust&raquo;.<\/li>\n<li>Negli scenari di build <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/rust-for-linux\/20250103204521.1885406-20-samitolvanen@google.com\/T\/\">\u00e8 stato proposto<\/a> nuovo codice per la generazione di versioni dei simboli di debug per i moduli caricabili, che ora utilizza informazioni dai registri di debug in formato DWARF, anzich\u00e9 analizzare direttamente il codice sorgente. La modifica consente di applicare la versioning dei simboli di debug per i moduli scritti in Rust. Anche la vecchia implementazione \u00e8 stata mantenuta nel kernel, mentre la scelta del generatore avviene a livello di opzioni di build.<\/li>\n<li>Per l'architettura PowerPC <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20241116192306.88217-1-sshegde@linux.ibm.com\/T\/\">\u00e8 stata implementata<\/a> il supporto per la modalit\u00e0 di preemption pigra delle attivit\u00e0 (PREEMPT_LAZY, lazy preemption), che corrisponde alla modalit\u00e0 di preemption totale (&laquo;full preemption&raquo;) per le attivit\u00e0 realtime (RR\/FIFO\/DEADLINE), ma ritarda la preemption delle attivit\u00e0 normali (SCHED_NORMAL) fino al confine del tick.<\/li>\n<li>Nella sottosistema di profilazione delle prestazioni perf <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=6c4aa896ebee5edf2b35a9d071e5a468797f96d8\">\u00e8 stata aggiunta<\/a> supporto dei contatori di consumo energetico per i processori AMD. <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7685b334d1e4927cc73b62c65293ba65748d9c52\">\u00c8 stata aggiunta<\/a> possibilit\u00e0 di funzionare su sistemi con fino a 2048 core CPU.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7863dcc72d0f\">\u00c8 stata fornita<\/a> possibilit\u00e0 di utilizzare il parametro sysctl pid_max con gli spazi dei nomi degli identificatori di processo (ID namespace). Il parametro pid_max \u00e8 destinato a limitare il valore massimo degli identificatori di processo (PID) e ora pu\u00f2 essere utilizzato per limitare il numero massimo di processi che possono essere eseguiti nello spazio dei nomi specificato. La gestione del parametro avviene in modo gerarchico, cio\u00e8 i vincoli negli spazi dei nomi esterni si applicano agli spazi dei nomi annidati.<\/li>\n<li>Quando si utilizza per avviare un processo la chiamata di sistema <a rel=\"nofollow\" href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/execveat.2.html\">execveat<\/a> nel file system \/proc verr\u00e0 ora visualizzato il nome del file avviato, anzich\u00e9 il numero del descrittore di file.<\/li>\n<li>Nel codice sorgente del kernel (nella cartella samples) \u00e8 stata aggiunta l'utility mountinfo, che dimostra l'uso delle chiamate di sistema statmount() e listmount().<\/li>\n<li>Nel sottosistema BPF <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=4fec4c22f046\">proposti<\/a> nuove funzioni bpf_local_irq_save() e bpf_local_irq_restore() per disabilitare temporaneamente le interruzioni sulla CPU locale. Le funzioni possono essere utilizzate per implementare strutture la cui elaborazione non viene interrotta dalle interruzioni.<\/li>\n<li>Nella chiamata di sistema <a rel=\"nofollow\" href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/madvise.2.html\">madvise()<\/a> quando si utilizzano i flag MADV_DONTNEED e MADV_FREE <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=6375e95f381e\">\u00e8 stata fornita<\/a> il rilascio delle tabelle delle pagine di memoria associate all'intervallo di indirizzi rilasciato, poich\u00e9 in alcune situazioni le pagine di memoria vuote possono occupare una quantit\u00e0 considerevole di memoria.<\/li>\n<li>Per l'architettura OpenRISC \u00e8 stata implementata la supporto del meccanismo delle sequenze ripristinabili (rseq, <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/697979\/\">restartable sequences<\/a>), destinato all'esecuzione atomica rapida di operazioni che, in caso di interruzione da un altro thread, vengono annullate e si tenta nuovamente di eseguire.<\/li>\n<li>\u00c8 stata effettuata una riorganizzazione del codice con l'implementazione degli algoritmi CRC32 e CRC-T10DIF, che non si sovrappone pi\u00f9 con il sottosistema crypto e viene chiamato direttamente dall'interfaccia di libreria. Questa modifica ha semplificato il codice e migliorato la sua efficienza.<\/li>\n<li>Nel sistema di input\/output asincrono io_uring <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-fsdevel\/20241128112240.8867-1-anuj20.g@samsung.com\/T\/\">\u00e8 stata aggiunta<\/a> un'interfaccia per trasmettere metadata aggiuntivi sull'integrit\u00e0 durante l'esecuzione delle operazioni di lettura e scrittura.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Virtualizzazione e sicurezza<\/strong>\n<ul>\n<li>Nella chiamata di sistema <a rel=\"nofollow\" href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/execveat.2.html\">execveat<\/a> <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-security-module\/20241212174223.389435-1-mic@digikod.net\/T\/\">\u00e8 stata aggiunta<\/a> il flag AT_EXECVE_CHECK, che consente <a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/next\/userspace-api\/check_exec.html\">di eseguire un controllo<\/a> la possibilit\u00e0 di eseguire un file senza il suo effettivo avvio, ma tenendo conto delle politiche di sicurezza, dei diritti di accesso e dei moduli LSM attivi. Sono stati proposti bandi securebit SECBIT_EXEC_RESTRICT_FILE e SECBIT_EXEC_DENY_INTERACTIVE per l'uso in combinazione con AT_EXECVE_CHECK, che possono essere utilizzati per limitare l'esecuzione di file con script in linguaggi di programmazione interpretati. Il flag SECBIT_EXEC_RESTRICT_FILE richiede ai linker e ai parser di utilizzare l'opzione AT_EXECVE_CHECK per verificare la validit\u00e0 dell'esecuzione, mentre il flag SECBIT_EXEC_DENY_INTERACTIVE vieta l'elaborazione di comandi interattivi. L'idea principale della modifica \u00e8 la possibilit\u00e0 di applicare politiche di sicurezza non solo ai tradizionali file eseguibili, ma anche ai file di testo con script, che possono essere caricati tramite l'avvio dell'interprete (ossia il divieto di esecuzione pu\u00f2 essere attuato non solo all'avvio di &laquo;.\/script.sh&raquo; ma anche all'esecuzione sotto forma di &laquo;sh script.sh&raquo;).<\/li>\n<li>Nei sistemi x86 \u00e8 stata implementata la supporto di contatori di tempo protetti per sistemi guest, che non permettono di modificare l'orologio di sistema del guest dall'ambiente host. Questa funzionalit\u00e0 \u00e8 stata realizzata attraverso il meccanismo <a rel=\"nofollow\" href=\"https:\/\/www.amd.com\/en\/developer\/sev.html\">AMD SEV<\/a> (Secure Encrypted Virtualization), utilizzato nei sistemi di virtualizzazione per proteggere le macchine virtuali da interferenze da parte del hypervisor o dall'amministratore del sistema host.<\/li>\n<li>Nel sistema di controllo degli accessi mandatorio SELinux <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=4aa176193475d37441cc52b84088542f3a59899a\">\u00e8 stata aggiunta<\/a> highlightsFromPoint() <a rel=\"nofollow\" href=\"https:\/\/selinuxproject.org\/page\/XpermRules\">le regole xperm<\/a>, che consentono di associare le politiche SELinux a specifiche chiamate ioctl() o messaggi netlink.<\/li>\n<li>Per la certificazione dei moduli del kernel con una firma digitale, per impostazione predefinita <a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/f3b93547b91ad849b58eb5ab2dd070950ad7beb3\">\u00e8 stato utilizzato<\/a> \u00e8 utilizzato l'algoritmo SHA512.<\/li>\n<li>Nei driver per sistemi guest VirtualBox <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/20250118-vfs-misc-84fb5265d102@brauner\/\">attivata<\/a> il supporto per l'architettura ARM64.<\/li>\n<li>Nel hypervisor KVM <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=0f8e26b38d7ac72b3ad764944a25dd5808f37a6e\">proseguito<\/a> <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20250106124633.1418972-1-nikunj@amd.com\/T\/\">funzionamento<\/a> utilizzando il meccanismo Intel TDX (Trusted Domain Extensions) per la crittografia della memoria dei sistemi guest.<\/li>\n<li>In virtio_blk <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=5820a3b08987951e3e4a89fca8ab6e1448f672e1\">\u00e8 stata aggiunta<\/a> supporto per la modalit\u00e0 di recupero degli errori.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Sottosistema di rete<\/strong>\n<ul>\n<li>Nell'implementazione del protocollo <a rel=\"nofollow\" href=\"https:\/\/docs.kernel.org\/networking\/rxrpc.html\">RxRPC<\/a> <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/netdev\/20241204074710.990092-1-dhowells@redhat.com\/T\/\">\u00e8 comparso<\/a> \u00e8 possibile utilizzare grandi pacchetti UDP per aumentare la larghezza di banda.<\/li>\n<li>Per TCP \u00e8 stato aggiunto il supporto per l'algoritmo <a rel=\"nofollow\" href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc8985\">RACK-TLP<\/a> per la determinazione della perdita di pacchetti.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/netdev\/20241209-jakub-krn-909-poc-msec-tw-tstamp-v2-0-66aca0eed03e@cloudflare.com\/T\/\">Aggiunto<\/a> nuovo parametro sysctl tcp_tw_reuse_delay, applicabile nell'ambito del namespace di rete (network namespace) e che consente di definire il ritardo prima che il sistema possa riutilizzare il numero della porta di rete dopo la chiusura di un socket TCP.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=bc6a5efe3dcd\">\u00c8 stata aggiunta<\/a> possibilit\u00e0 di scegliere un fornitore di tempo preciso (PTP) per la generazione di timestamp ai livelli PHY e MAC.<\/li>\n<li>Per IPsec <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/netdev\/20241114070713.3718740-1-chopps@chopps.org\/T\/\">\u00e8 stata implementata<\/a> supporto del meccanismo di aggregazione e frammentazione dei pacchetti IP incapsulati &ndash; <a rel=\"nofollow\" href=\"https:\/\/datatracker.ietf.org\/doc\/rfc9347\/\">IP-TFS\/AGGFRAG<\/a> (IP Traffic Flow Security\/Aggregation and Fragmentation Mode for Encapsulating Security Payload).<\/li>\n<li>Nel sistema dei socket di rete <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a32f3e9d1ed146f81162702605d65447a319eb76\">\u00e8 stata aggiunta<\/a> <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/netdev\/20241213084457.45120-1-annaemesenyiri@gmail.com\/T\/\">highlightsFromPoint()<\/a> trasmissione delle informazioni sulla priorit\u00e0 (SO_PRIORITY) sotto forma di messaggi di controllo (cmsg &mdash; control messages). Per i socket di rete. <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=e45469e594b255ef8d750ed5576698743450d2ac\">\u00e8 stata aggiunta<\/a> opzione SO_RCVPRIORITY, che include nella funzione recvmsg() la trasmissione dell'informazione sulla priorit\u00e0 del socket.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Apparecchiatura<\/strong>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/CAPM=9tw+ySbm80B=zHVhodMFoS_fqNw_v4yVURCv3cc9ukvYYg@mail.gmail.com\/\">Aggiunto<\/a> il motore <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60512\">amdxdna<\/a> per gli acceleratori NPU (Neural Processing Unit) integrati nella CPU AMD basati sull'architettura <a rel=\"nofollow\" href=\"https:\/\/www.amd.com\/en\/technologies\/xdna.html\">XDNA<\/a>, destinati ad accelerare operazioni legate all'apprendimento automatico. Gli NPU basati sull'architettura XDNA sono forniti nelle serie 7040 e 8040 dei processori AMD Ryzen, negli acceleratori AMD Alveo V70 e nei SoC AMD Versal.<\/li>\n<li>Nel driver i915 <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/CAPM=9tw+ySbm80B=zHVhodMFoS_fqNw_v4yVURCv3cc9ukvYYg@mail.gmail.com\/\">aggiunti<\/a> sono stati implementati gli identificatori delle nuove GPU, \u00e8 stato realizzato un gestore degli errori di inizializzazione HDMI, \u00e8 stata aumentata l'affidabilit\u00e0 del ripristino dei motori GPU nei sistemi Haswell e in quelli pi\u00f9 vecchi.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/CAPM=9tw+ySbm80B=zHVhodMFoS_fqNw_v4yVURCv3cc9ukvYYg@mail.gmail.com\/\">Proseguita<\/a> lavoro sul driver drm (Direct Rendering Manager) Xe per GPU basate sull'architettura Intel Xe, utilizzata nelle schede grafiche Intel della famiglia Arc e nella grafica integrata, a partire dai processori Tiger Lake.<\/li>\n<li>Nel driver Nouveau \u00e8 stata aggiunta la possibilit\u00e0 di inviare buffer contenenti log GSP-RM tramite debugfs.<\/li>\n<li>Nel driver AMDGPU \u00e8 stata implementata la supporto del meccanismo DRM panic, che visualizza un'interfaccia simile al &laquo;blue screen della morte&raquo; in caso di malfunzionamenti. \u00c8 proseguita la preparazione per la supporto della futura serie di schede grafiche Radeon RX 9000 basata sull'architettura RDNA4. Aggiornato il supporto per DCN 3.5, GG 9.5, IH 4.4, PSP 13.x, SMU 13.x, VCN 5.x, JPEG 5.x, GC 12.x, DC FAMS, RAS e ISP.<\/li>\n<li>Nel driver DRM msm (GPU Qualcomm Adreno) \u00e8 stato aggiunto il supporto per la piattaforma Qualcomm SM6150 (QCS615).<\/li>\n<li>Nel driver DRM panfrost \u00e8 stato aggiunto il supporto per SoC MediaTek MT8188 con GPU Mali-G57.<\/li>\n<li>Nel driver DRM vc4 \u00e8 stato aggiunto il supporto per SoC Broadcom BCM2712 (Raspberry Pi 5).<\/li>\n<li>Nel driver vfio nvgrace-gpu <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=2bb447540e71ee530388750c38e1b2c8ea08b4b7\">\u00e8 stata aggiunta<\/a> <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-kernel\/20250124183102.3976-1-ankita@nvidia.com\/T\/\">highlightsFromPoint()<\/a> dei chip NVIDIA Grace Blackwell 200.<\/li>\n<li>Fanno parte <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/00996191-sr76-57o6-3rr0-o1s3qs80s94o@xreary.bet\/\">\u00e8 attivato<\/a> driver per controller Intel THC (Touch Host Controller), utilizzato per interagire con schermi touch e touchpad su alcuni laptop. \u00c8 stato aggiunto il supporto per dispositivi Wacom con interfaccia PCI. <a rel=\"nofollow\" href=\"https:\/\/web.git.kernel.org\/pub\/scm\/linux\/kernel\/git\/dtor\/input.git\/commit\/?h=next&amp;id=92600f3295ff571890c981d886c6544030cc05f3\">\u00c8 stata aggiunta<\/a> supporto per controller di gioco QH Electronics.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/20250124225700.GA2614452-robh@kernel.org\/\">\u00c8 stata aggiunta<\/a> <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/1f0939fd-1694-476e-954f-e58ff8650dd9@app.fastmail.com\/\">highlightsFromPoint()<\/a> Piattaforme ARM, SoC e dispositivi: Qualcomm Snapdragon 8 Elite (SM8750), Qualcomm Snapdragon AR2 (SAR2130P), Qualcomm IQ6\/IQ8, Snapdragon 425 (MSM8917), Samsung Exynos 9810, Blaize BLZP1600, Microchip SAMA7D65, Renesas R-Car V4H ES3.0, Renesas RZ\/G3E. \u00c8 stato aggiunto il supporto per SoC <a rel=\"nofollow\" href=\"https:\/\/wiki.postmarketos.org\/wiki\/SpacemiT_Key_Stone_K1\">SpacemiT K1<\/a> basato sull'architettura RISC-V.<\/li>\n<li>Nel sottosistema audio ALSA per MIDI 2.0 <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/87tt9p4pcf.wl-tiwai@suse.de\/\">espansi<\/a> API rawmidi e sequencer. Nell'API per esternalizzare le operazioni di compressione \u00e8 stato aggiunto il supporto ASRC (Asynchronous Sample Rate Conversion).<\/li>\n<li>\u00c8 stato aggiunto il supporto per i sistemi audio dei dispositivi Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE, TAS2781, Focusrite Scarlett 4th Gen 16i16, 18i16 e 18i20. <a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/lkml\/20250101151209.100072-1-git@mayer-bgk.de\/\">\u00c8 stata aggiunta<\/a> supporto per le cuffie wireless SteelSeries Arctis 9.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/kernel\/17923070\">linux.org.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 6.14. \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: \u0434\u0440\u0430\u0439\u0432\u0435\u0440 ntsync c \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430\u043c\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Windows NT, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u044f \u0432 Btrfs RAID1, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 reflink \u0432 XFS \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 realtime, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043a\u044d\u0448\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430, dmem cgroup \u0434\u043b\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 GPU, \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 io_uring \u0432 FUSE, \u0434\u0435\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0432 NFS, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":123228,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-123227","post","type-post","status-publish","format-standard","has-post-thumbnail","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\" \/>\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\/linux-6-14\" \/>\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\udd47Linux 6.14 | 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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/linux-6-14\" \/>\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=\"2025-04-03T20:00:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-04-03T20:00:01+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\udd47Linux 6.14 | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/linux-6-14","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\udd47Linux 6.14 | 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","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/linux-6-14","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":"2025-04-03T20:00:01+00:00","article:modified_time":"2025-04-03T20:00:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"123227","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-01-23 12:00:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 12:00:22","updated":"2026-01-23 12:00:22","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\/123227","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=123227"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/123227\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/123228"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=123227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=123227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=123227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}