Kernen Linux-libre 6.12 er tilgængelig. Løsning af licensproblemer med Tuxedo-drivere.

Den Latinamerikanske Fond for Fri Software har offentliggjort en fuldstændig fri version af Linux-kernen 6.12 — Linux-libre 6.12-gnu, renset for firmware og drivere, der indeholder ikke-frie komponenter eller kodeafsnit, hvis anvendelse er begrænset af producenten. Derudover deaktiverer Linux-libre kernefunktioner til indlæsning af eksterne ikke-frie komponenter, der ikke er inkluderet i kernens distribution, og fjerner omtale af brugen af ikke-frie komponenter fra dokumentationen.

For at rense kernen for ikke-frie dele har projektet Linux-libre oprettet et universelt shell-script, der indeholder tusindvis af skabeloner til at identificere tilstedeværelsen af binære indlæg og udelukke falske positiver. Der er også tilgængelige færdige patches til download, oprettet baseret på brugen af det ovenfor nævnte script. Linux-libre anbefales til brug i distributioner, der opfylder kriterierne fra Fondet for Fri Software for opbygning af fuldt frie GNU/Linux-distributioner. For eksempel anvendes Linux-libre i distributioner som Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix og Kongoni.

I udgivelsen af Linux-libre 6.12-gnu er der tilføjet kode til rensning af blobs i drivere til SoC CPM/QE QMC, trådløse chips Realtek 8852BE-VT, bluetooth-adaptere Amlogic, netværksadaptere amcc qt2025, sensorer aw96103/aw96105 og codec TI TLV320AIC31XX. Der er blevet foretaget yderligere rensning af blobs i drivere til xHCI-controllere fra Renesas og Intel ISH (Integrated Sensor Hub) HID. Koden til fjernelse af blobs i drivere og subsystemer MHI PCI host, Adreno 620/621, r8169, Qualcomm q6v5 remoteproc, rtw8852c, rtw8922a er blevet opdateret, ligesom i dts-filerne for ARM54-chips TI PRU og Qualcomm. Rensningen af drivere til trådløse kort ks7010 og lydsubsystemet Intel SkyLake er stoppet, da disse drivere er blevet fjernet fra kernen.

Det skal bemærkes, at der i kildekoden er opdaget en drivertype med eksekverbare binære koder, genereret fra ikke-offentliggjorte kildefiler og indlejret i form af en sekvens af hexadecimale tal. Den problematiske driver nævnes ikke eksplicit, men ifølge ændringerne handler det om tilstedeværelsen af en shader-mikrokode i filen gfx_v9_4_3_cleaner_shader.h, som er en del af driveren AMDGPU. Den første lignende indsættelse blev opdaget i kernen 6.11 og blev derefter foreslået til fjernelse af en af udviklerne, da kildekoden ikke var blevet fremlagt (der opstod en situation med levering under GPL-licensen, hvor programmet kun er tilgængeligt i binær form). Ikke desto mindre blev den pågældende binære kode bevaret i kernen 6.12, og endnu en lignende indsættelse blev tilføjet til den samme driver.

Derudover nævnes der i annoncen for Linux-libre 6.12 endnu to begivenheder:

  • For inclusion in the kernel, a patch has been proposed that blocks Tuxedo laptop drivers from accessing kernel subsystems that are only available to code under the GPLv2 license (EXPORT_SYMBOL_GPL). The blocking capability was initially introduced to restrict proprietary driver binding with Linux kernel components that are exported only for GPLv2-licensed modules. However, this restriction is successfully circumvented through the creation of bridging modules that relay proprietary drivers' access to the necessary kernel APIs. In the case of Tuxedo drivers, the situation is the opposite—despite the fact that Tuxedo drivers are developed separately from the kernel, they are provided under the GPLv3 license, which, on one hand, is incompatible with GPLv2, but on the other hand, advocates for more freedoms, such as protection against tivoization.

    It is noted that Tuxedo has long proposed changing the license for its drivers, but it continued to supply code under the GPLv3 license while indicating in the driver code the macro ‘MODULE_LICENSE(«GPL»)’ instead of ‘MODULE_LICENSE(«GPL v3»)’ to gain access to all kernel subsystems. Tuxedo agreed with the criticism and changed the license to GPLv2+ for some of its drivers. This change has been applied to the drivers gxtp7380, ite_8291, ite_8291_lb, ite_8297, stk8321, tuxedo_compatibility_check, tuxedo_nb02_nvidia_power_ctrl, and tuxedo_tuxi. More than a dozen drivers have not yet been re-licensed, as changing the license requires obtaining consent from third-party developers.

    The use of ‘MODULE_LICENSE(«GPL»)’ instead of ‘MODULE_LICENSE(«GPL v3»)’ was explained by a Tuxedo representative as a result of a lack of clear explanation in the kernel documentation that the marker «GPL» cannot be used for the GPLv3 license. He also stated that the company intends to contribute its drivers to the mainline of the Linux kernel and is working on completely rewriting them under the GPLv2 license, taking into account the requirements for kernel components.

  • Kerneleksperter diskuterer en initiativ for at tilføje flaget X86_BUG_OLD_MICROCODE, der signalerer, at systemet bruger en ikke helt opdateret version af CPU-mikrokode. Når dette flag er sat, foreslås det at behandle systemet som om det har potentielle uoprettede sårbarheder. Forsøg på at ligestille tilstanden for systemet med den uopdaterede mikrokode med situationen for reelt eksisterende uoprettede sårbarheder i koden har ført til kritik fra en af projektets vedligeholdere, Linux-libre.

    Ifølge vedligeholderen af Linux-libre bør kernen ikke krænke brugerens ret til ikke at installere utestede proprietære firmware og mikrokode på deres eget udstyr. Diskussionen om tilstedeværelsen af sårbarheder bør knyttes til specifikke rettelser i bestemte versioner af firmware, snarere end at kalde alle systemer, der ikke har den nyeste mikrokode installeret, sårbare, uden hensyn til, om sårbarhederne faktisk forekommer i det givne system, eller om den nyeste firmware indeholder rettelser til sårbarheder.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster