De Linux-libre kernel 6.12 is beschikbaar. Oplossing van licentieproblemen met de Tuxedo-drivers

De Latijns-Amerikaanse Vrije Software Stichting heeft een volledig vrije versie van de Linux-kernel 6.12 gepubliceerd — Linux-libre 6.12-gnu, vrijgemaakt van elementen van firmware en stuurprogramma's met niet-vrije componenten of codefragmenten die door de fabrikant zijn beperkt. Bovendien schakelt Linux-libre functies van de kernel uit voor het laden van externe niet-vrije componenten die niet zijn inbegrepen bij de kerneldistributie, en verwijdert het verwijzingen naar het gebruik van niet-vrije componenten uit de documentatie.

Om de kernel van niet-vrije onderdelen te ontdoen, heeft het project Linux-libre een universeel shell-script ontwikkeld dat duizenden sjablonen bevat voor het identificeren van de aanwezigheid van binaire invoegen en het uitsluiten van valse positieven. Ook zijn kant-en-klare patches beschikbaar voor download, die zijn gemaakt op basis van het gebruik van het hierboven genoemde script. De Linux-libre-kernel wordt aanbevolen voor gebruik in distributies die voldoen aan de criteria van de Vrije Software Stichting voor het opzetten van volledig vrije GNU/Linux-distributies. Bijvoorbeeld, Linux-libre wordt gebruikt in distributies zoals Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix en Kongoni.

In de release van Linux-libre 6.12-gnu is code toegevoegd voor het opschonen van blobs in stuurprogramma's voor SoC CPM/QE QMC, draadloze chips van Realtek 8852BE-VT, bluetooth-adapters van Amlogic, netwerkadapters amcc qt2025, sensoren aw96103/aw96105 en codecs TI TLV320AIC31XX. Verdere opschoning van blobs in stuurprogramma's voor xHCI-controllers van Renesas en Intel ISH (Integrated Sensor Hub) HID is uitgevoerd. De code voor het verwijderen van blobs in stuurprogramma's en subsystemen van MHI PCI-host, Adreno 620/621, r8169, Qualcomm q6v5 remoteproc, rtw8852c, rtw8922a, evenals in dts-bestanden voor ARM54-chips van TI PRU en Qualcomm is geüpdatet. De opschoning van stuurprogramma's voor draadloze kaarten ks7010 en de geluids subsystemen van Intel SkyLake is stopgezet, aangezien deze stuurprogramma's uit de kernel zijn verwijderd.

Bijzonder vermeldenswaardig is de ontdekking van uitvoerbare objectcode in de bronbestanden van een van de stuurprogramma's, gegenereerd vanuit niet-gepubliceerde bronbestanden en ingebouwd in de vorm van een reeks hexadecimale getallen. Het problematische stuurprogramma wordt niet expliciet genoemd, maar afgezien van de wijzigingen lijkt het te gaan om de aanwezigheid van shader-microcode in het bestand gfx_v9_4_3_cleaner_shader.h, dat deel uitmaakt van de AMDGPU-stuurprogramma. De eerste dergelijke invoeging werd ontdekt in kernel 6.11 en vervolgens door een van de ontwikkelaars voorgesteld voor verwijdering, aangezien de bronbestanden niet waren verstrekt (er ontstond een situatie van levering onder de GPL-licentie voor een programma dat alleen in binaire vorm beschikbaar was). Desondanks werd de genoemde binaire code in kernel 6.12 behouden, en in datzelfde stuurprogramma werd nog een dergelijke invoeging toegevoegd.

Bovendien worden in de aankondiging van Linux-libre 6.12 nog twee gebeurtenissen genoemd:

  • Om op te nemen in de kernel is er een correctie voorgesteld die de toegang voor Tuxedo-laptops drivers tot subsystems van de kernel blokkeert, die alleen beschikbaar zijn voor code onder de GPLv2-licentie (EXPORT_SYMBOL_GPL). De mogelijkheid om te blokkeren werd aanvankelijk geïntroduceerd om het koppelen van propriëtaire drivers aan componenten van de Linux-kernel, die alleen voor GPLv2-modules worden geëxporteerd, te beperken, maar kan succesvol worden omzeild door modules te maken die de toegang van de propriëtaire driver tot de benodigde kernel-API's vertalen. In het geval van Tuxedo-drivers is de situatie omgekeerd — hoewel de Tuxedo-drivers zich onafhankelijk van de kernel ontwikkelen, worden ze geleverd onder de GPLv3-licentie, die aan de ene kant niet compatibel is met GPLv2, maar aan de andere kant meer vrijheden verdedigt, zoals bescherming tegen tivoization.

    Het is opgemerkt dat Tuxedo al lange tijd heeft voorgesteld om de licentie voor zijn drivers te wijzigen, maar het bleef code onder de GPLv3-licentie leveren en gaf in de drivercode de macro ‘MODULE_LICENSE(«GPL»)’ op in plaats van ‘MODULE_LICENSE(«GPL v3»)’ om toegang te krijgen tot alle subsystems van de kernel. Tuxedo heeft de kritiek erkend en de licentie gewijzigd naar GPLv2+ voor een deel van zijn drivers. Deze wijziging is toegepast op de gxtp7380, ite_8291, ite_8291_lb, ite_8297, ite_8297, stk8321, tuxedo_compatibility_check, tuxedo_nb02_nvidia_power_ctrl en tuxedo_tuxi drivers. Meer dan tien drivers zijn voorlopig niet herlicentie, omdat het verkrijgen van toestemming van externe ontwikkelaars vereist is om de licentie voor hen te wijzigen.

    Het gebruik in de code van ‘MODULE_LICENSE(«GPL»)’ in plaats van ‘MODULE_LICENSE(«GPL v3»)’ werd door een vertegenwoordiger van Tuxedo toegeschreven aan het ontbreken van duidelijke uitleg in de documentatie over de kernel dat de marker «GPL» niet kan worden gebruikt voor de GPLv3-licentie. Hij vertelde ook dat het bedrijf van plan is om zijn drivers naar de kern van de Linux-kernel over te dragen en daarvoor werkt aan hun volledige herschrijving onder de GPLv2-licentie, rekening houdend met de vereisten voor kernelcomponenten.

  • De kernontwikkelaars bespreken het initiatief om de vlag X86_BUG_OLD_MICROCODE toe te voegen, die aangeeft dat er een verouderde versie van de CPU-microcode op het systeem wordt gebruikt. Wanneer deze vlag wordt ingesteld, wordt voorgesteld het systeem te beschouwen als een systeem met potentiële onverholpen kwetsbaarheden. Pogingen om de status van een systeem met verouderde microcode gelijk te stellen aan die van systemen met daadwerkelijke onverholpen kwetsbaarheden in de code zijn bekritiseerd door een van de onderhouders van het Linux-libre-project.

    Volgens de onderhouders van Linux-libre zou de kernel het recht van gebruikers niet moeten beperken om onbevestigde propriëtaire firmware en microcode op hun eigen apparaten te installeren. De discussie over kwetsbaarheden zou moeten worden gekoppeld aan specifieke correcties in bepaalde versies van firmware, en niet alle systemen als kwetsbaar bestempelen die niet de meest recente microcode hebben, zonder te onderzoeken of er in dat systeem kwetsbaarheden zijn en of de nieuwste firmware kwetsbaarheden heeft verholpen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster