È disponibile il kernel Linux-libre 6.12. Soluzione ai problemi di licenza con i driver Tuxedo

Il Fondo Latinoamericano per il Software Libero ha pubblicato una versione completamente libera del kernel Linux 6.12 — Linux-libre 6.12-gnu, ripulita da elementi di firmware e driver contenenti componenti non liberi o sezioni di codice il cui utilizzo è limitato dal produttore. Inoltre, Linux-libre disabilita le funzioni del kernel per il caricamento di componenti esterni non liberi, non inclusi nella distribuzione del kernel, e rimuove i riferimenti all'uso di componenti non liberi dalla documentazione.

Per ripulire il kernel da parti non libere, il progetto Linux-libre ha creato uno script shell universale, che contiene migliaia di modelli per identificare la presenza di inserimenti binari ed escludere i falsi positivi. Sono inoltre disponibili per il download patch pronte, create sulla base dell'uso dello script sopra menzionato. Il kernel Linux-libre è raccomandato per l'uso in distribuzioni che rispettano i criteri del Fondo per la costruzione di distribuzioni GNU/Linux completamente libere. Ad esempio, Linux-libre è utilizzato in distribuzioni come Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix e Kongoni.

Nella versione Linux-libre 6.12-gnu è stato aggiunto il codice per la rimozione dei blob nei driver per i SoC CPM/QE QMC, i chip wireless Realtek 8852BE-VT, gli adattatori bluetooth Amlogic, i controller di rete amcc qt2025, i sensori aw96103/aw96105 e i codec TI TLV320AIC31XX. È stata effettuata un'ulteriore pulizia dei blob nei driver per i controller xHCI Renesas e Intel ISH (Integrated Sensor Hub) HID. È stato aggiornato il codice per la rimozione dei blob nei driver e nei sottosistemi MHI PCI host, Adreno 620/621, r8169, Qualcomm q6v5 remoteproc, rtw8852c, rtw8922a, e nei file dts per i chip ARM54 TI PRU e Qualcomm. È stata interrotta la pulizia dei driver per le schede wireless ks7010 e il sottosistema audio Intel SkyLake, poiché questi driver sono stati rimossi dal kernel.

Viene segnalata separatamente l’individuazione in alcuni testi sorgente di uno dei driver di codice oggetto eseguibile, generato a partire da testi non pubblicati e incorporato sotto forma di sequenza di numeri esadecimali. Il driver problematico non è specificato, ma dai cambiamenti evidenziati sembra riguardare la presenza di microcodice del shader nel file gfx_v9_4_3_cleaner_shader.h, parte del driver AMDGPU. La prima di queste aggiunte è stata identificata nel kernel 6.11 ed è stata quindi proposta da uno degli sviluppatori per la rimozione, poiché i testi sorgente non erano stati forniti (si è verificata la situazione di fornitura sotto licenza GPL di un programma accessibile solo in forma binaria). Tuttavia, nel kernel 6.12 il codice binario indicato è stato mantenuto e nello stesso driver è stata aggiunta un'altra simile integrazione.

Inoltre, nell’annuncio di Linux-libre 6.12 vengono menzionati altri due eventi:

  • Per l'inclusione nel kernel è stata proposta una correzione che impedisce ai driver per i laptop Tuxedo di accedere ai sottosistemi del kernel disponibili solo per il codice sotto licenza GPLv2 (EXPORT_SYMBOL_GPL). La possibilità di blocco è stata inizialmente introdotta per limitare il binding dei driver proprietari con i componenti del kernel Linux, esportati solo per i moduli sotto licenza GPLv2, ma viene aggirata con successo attraverso la creazione di moduli intercalari che traducono l'accesso del driver proprietario alle API necessarie del kernel. Nel caso dei driver Tuxedo, la situazione è inversa: nonostante i driver Tuxedo vengano sviluppati separatamente dal kernel, sono forniti sotto licenza GPLv3, che da un lato non è compatibile con la GPLv2, ma dall'altro lato difende maggiori libertà, ad esempio proteggendo dalla tivoizzazione.

    Si segnala che l'azienda Tuxedo aveva a lungo proposto di cambiare la licenza per i propri driver, ma continuava a fornire codice sotto licenza GPLv3, specificando nel codice del driver il macro ‘MODULE_LICENSE(«GPL»)’ invece di ‘MODULE_LICENSE(«GPL v3»)’ per ottenere accesso a tutte le sottosistemi del kernel. L'azienda Tuxedo ha accolto le critiche e ha cambiato la licenza in GPLv2+ per alcuni dei suoi driver. Questa modifica è stata applicata ai driver gxtp7380, ite_8291, ite_8291_lb, ite_8297, ite_8297, stk8321, tuxedo_compatibility_check, tuxedo_nb02_nvidia_power_ctrl e tuxedo_tuxi. Oltre una decina di driver non sono ancora stati ri-licenziati, poiché è necessario ottenere il consenso degli sviluppatori esterni per cambiarne la licenza.

    L'uso nel codice di ‘MODULE_LICENSE(«GPL»)’ invece di ‘MODULE_LICENSE(«GPL v3»)’ è stato spiegato dal rappresentante di Tuxedo come la mancanza di una chiara spiegazione nella documentazione del kernel, che indica che il marcatore «GPL» non può essere utilizzato per la licenza GPLv3. Ha anche riferito che l'azienda intende trasferire i propri driver nel corpo principale del kernel Linux e per questo sta lavorando alla loro completa riscrittura sotto la licenza GPLv2, tenendo conto dei requisiti per i componenti del kernel.

  • Gli sviluppatori del kernel discutono l'iniziativa di aggiungere il flag X86_BUG_OLD_MICROCODE, che segnala che il sistema sta utilizzando una versione non aggiornata del microcodice della CPU. Quando questo flag è attivato, si suggerisce di considerare il sistema come avente potenziali vulnerabilità non corrette. I tentativi di equiparare lo stato del sistema con un microcodice non aggiornato alla situazione di reale presenza di vulnerabilità non corrette nel codice hanno portato a critiche da parte di uno dei manutentori del progetto Linux-libre.

    Secondo il manutentore di Linux-libre, il kernel non dovrebbe compromettere il diritto degli utenti di non installare firmware e microcodice proprietari non verificati sui propri dispositivi. La questione delle vulnerabilità dovrebbe essere trattata in relazione a specifici aggiornamenti in determinate versioni dei firmware, piuttosto che etichettare vulnerabili tutti i sistemi sui quali non è installato il microcodice più recente, senza esaminare se in quel sistema emergano vulnerabilità e se il firmware aggiornato contenga correzioni per tali vulnerabilità.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster