Le noyau Linux-libre 6.12 est disponible. Résolution des problèmes de licence avec les pilotes Tuxedo.

La Fondation latino-américaine pour le logiciel libre a publié une version entièrement libre du noyau Linux 6.12 — Linux-libre 6.12-gnu, débarrassée des éléments de firmware et des pilotes contenant des composants non libres ou des sections de code dont l'utilisation est limitée par le fabricant. De plus, Linux-libre désactive les fonctionnalités du noyau permettant de charger des composants externes non libres qui ne font pas partie de la distribution du noyau, et supprime toute mention de l'utilisation de composants non libres dans la documentation.

Pour nettoyer le noyau des parties non libres, le projet Linux-libre a créé un script shell universel, contenant des milliers de modèles pour détecter la présence d'inserts binaires et exclure les faux positifs. Des patchs prêts à l'emploi, élaborés à partir de l'utilisation de ce script, sont également disponibles en téléchargement. Le noyau Linux-libre est recommandé pour une utilisation dans des distributions qui répondent aux critères de la Fondation du logiciel libre pour la création de distributions GNU/Linux entièrement libres. Par exemple, Linux-libre est utilisé dans des distributions telles que Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix et Kongoni.

La version Linux-libre 6.12-gnu inclut du code pour le nettoyage des blobs dans les pilotes pour SoC CPM/QE QMC, les puces sans fil Realtek 8852BE-VT, les adaptateurs bluetooth Amlogic, les adaptateurs réseau amcc qt2025, les capteurs aw96103/aw96105 et les codecs TI TLV320AIC31XX. Un nettoyage supplémentaire des blobs a été effectué dans les pilotes pour les contrôleurs xHCI Renesas et Intel ISH (Integrated Sensor Hub) HID. Le code de suppression des blobs dans les pilotes et sous-systèmes MHI PCI host, Adreno 620/621, r8169, Qualcomm q6v5 remoteproc, rtw8852c, rtw8922a, ainsi que dans les fichiers dts pour les puces TI PRU et Qualcomm ARM54 a été mis à jour. Le nettoyage des pilotes pour les cartes sans fil ks7010 et le sous-système audio Intel SkyLake a été interrompu, car ces pilotes ont été retirés du noyau.

Il est particulièrement noté que l'on a identifié dans les textes sources l'un des pilotes de code objet exécutable, généré à partir de textes source non publiés et intégré sous la forme d'une séquence de chiffres hexadécimaux. Le pilote problématique n'est pas explicitement nommé, mais, au vu des modifications, il s'agit de la présence de microcode de shader dans le fichier gfx_v9_4_3_cleaner_shader.h, qui fait partie du pilote AMDGPU. La première telle insertion a été détectée dans le noyau 6.11 et a ensuite été proposée par l'un des développeurs pour suppression, car les textes source n'avaient pas été fournis (une situation de livraison sous licence GPL d'un programme disponible uniquement sous forme binaire est survenue). Néanmoins, dans le noyau 6.12, le code binaire en question a été conservé, et une autre insertion similaire a été ajoutée au même pilote.

De plus, l'annonce de Linux-libre 6.12 mentionne encore deux événements :

  • Une correction a été proposée pour inclusion dans le noyau, bloquant l'accès des pilotes pour ordinateurs portables Tuxedo aux sous-systèmes du noyau, accessibles uniquement au code sous licence GPLv2 (EXPORT_SYMBOL_GPL). Cette possibilité de blocage a été initialement introduite pour limiter la liaison des pilotes propriétaires avec les composants du noyau Linux, exportés uniquement pour les modules sous licence GPLv2, mais elle peut être contournée grâce à la création de modules intermédiaires, qui traduisent l'accès du pilote propriétaire aux API nécessaires du noyau. Dans le cas des pilotes Tuxedo, la situation est inversée : bien que les pilotes Tuxedo soient développés séparément du noyau, ils sont livrés sous licence GPLv3, qui d'une part n'est pas compatible avec GPLv2, mais d'autre part défend davantage de libertés, par exemple en protégeant contre la tivoisation.

    Il est à noter que l'entreprise Tuxedo avait depuis longtemps proposé de changer la licence de ses pilotes, mais elle continuait à fournir le code sous licence GPLv3 et indiquait dans le code du pilote le macro 'MODULE_LICENSE("GPL")' au lieu de 'MODULE_LICENSE("GPL v3")' pour obtenir accès à tous les sous-systèmes du noyau. L'entreprise Tuxedo a accepté la critique et a modifié la licence en GPLv2+ pour une partie de ses pilotes. Le changement a été appliqué aux pilotes gxtp7380, ite_8291, ite_8291_lb, ite_8297, ite_8297, stk8321, tuxedo_compatibility_check, tuxedo_nb02_nvidia_power_ctrl et tuxedo_tuxi. Plus d'une dizaine de pilotes n'ont pas encore été re-licenciés, car le changement de licence pour ceux-ci nécessite l'approbation des développeurs tiers.

    L'utilisation dans le code de ‘MODULE_LICENSE(«GPL»)’ au lieu de ‘MODULE_LICENSE(«GPL v3»)’ a été expliquée par un représentant de Tuxedo par l'absence d'une explication claire dans la documentation du noyau, affirmant que le marqueur «GPL» ne peut pas être utilisé pour la licence GPLv3. Il a également mentionné que l'entreprise prévoit de transmettre ses pilotes au noyau Linux principal et qu'elle travaille à leur réécriture complète sous la licence GPLv2 en tenant compte des exigences pour les composants du noyau.

  • Les développeurs du noyau discutent d'une initiative visant à ajouter le drapeau X86_BUG_OLD_MICROCODE, signalant qu'une version de microcode CPU obsolète est utilisée dans le système. Lorsque ce drapeau est défini, il est proposé de considérer le système comme ayant des vulnérabilités potentielles non corrigées. Les tentatives d'assimiler l'état d'un système avec un microcode non mis à jour à la situation réelle de vulnérabilités non corrigées dans le code ont été critiquées par l'un des mainteneurs du projet Linux-libre.

    Selon un mainteneur de Linux-libre, le noyau ne doit pas restreindre le droit des utilisateurs de ne pas installer de firmware et de microcode propriétaires non vérifiés sur leur propre appareil. La question des vulnérabilités devrait être liée à des correctifs spécifiques dans certaines versions de firmware, au lieu de qualifier de vulnérables tous les systèmes qui ne disposent pas du microcode le plus récent, sans examiner si des vulnérabilités existent effectivement dans ce système et si le firmware récent contient des corrections.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster