Foreslå å blokkere drivere som gir tilgang til GPL-samtaler til Linux-kjernen

Linux-kjernelogo, Tux

Christoph Hellwig, en fremtredende Linux-kjerneutvikler som en gang var medlem av Linux Stiftelsens tekniske styringsgruppe og saksøkt i en GPL-rettssak mot VMware.

Han har foreslått å stramme inn beskyttelsen mot å binde proprietære drivere til eksporterte Linux-kjernekomponenter bare for moduler lisensiert under GPL.

For å unngå begrensning for å eksportere GPL-symboler, proprietære kontrollerprodusenter bruker en lagmodul, hvis kode er åpen kildekode og distribueres under GPLv2-lisensen, men funksjonene koker ned til å gi eierkontrolleren tilgang til API-ene kjernefiler, hvis bruk er forbudt direkte fra den proprietære koden.

For å blokkere en slik manøver, Christoph Helwig utarbeidet oppdateringer for Linux-kjernen som sikrer arv av flaggene knyttet til eksport av GPL-symboler.

Vi har hatt en feil i oppløsningen _GPL-modul siden første dag,
det vil si at en modul kan hevde å være GPL-lisensiert og bruke _GPL-eksport, samtidig som de stoler på symboler som ikke er GPL. Dette brukes som omgåelse av _GPL-eksport ved å bruke en liten shim-modul som bruker _GPL-eksport og annen funksjonalitet.

Forslaget koker ned til å arve indikatoren TAINT_PROPRIETARY_MODULE i alle moduler som importerer modulsymboler med dette flagget.

Derfor, hvis en GPL mellomlagsmodul prøver å importere symboler fra en ikke-GPL-modul, vil GPL-modulen arve TAINT_PROPRIETARY_MODULE-koden og vil ikke kunne få tilgang til kjernekomponentene som bare er tilgjengelige for GPL-lisensierte moduler, selv om modulen tidligere er importert symboler fra "gplonly".

Hellwigs lapp prøver nå å gjøre dette vanskelig. Moduler som importerer proprietære symboler er merket som proprietære og har ikke tilgang til GPL-symboler. 

Endringen ble foreslått som svar på en serie lapper utgitt av en Facebook-ingeniør med implementeringen av et nytt netgpu-delsystem, som tillater direkte datautveksling (null kopi DMA) mellom nettverkskortet og GPUen, mens du utfører protokollbehandlingen av CPUen.

Dette ville unngå metoden som opprinnelig var planlagt av Jonathan Lemon for lappene dine og ville gjøre utviklingen av mellomlagene til å utelate GPL-symbolet være mye vanskeligere, selv om det fremdeles er et lite gap, som angitt.

I diskusjonen de for tiden har forskjellige Linux-kjerneutviklere også revers lås foreslått: Hvis en modul importerer EXPORT_SYMBOL_GPL-symboler, bør ikke symbolene som eksporteres av den modulen importeres av moduler som ikke eksplisitt hevder GPL-kompatibilitet.

De uten modul importerer EXPORT_SYMBOL_GPL symboler, alle de eksporterte symbolene deres skal behandles som EXPORT_SYMBOL_GPL.

Christoph Helwig skrev at han er enig 100% i dette forslaget, men Linus Torvalds vil ikke gå glipp av den endringen, da det vil gjøre de fleste av kjernens delsystemer utilgjengelige for proprietære drivere, på grunn av det faktum at når du utvikler drivere, blir basissymbolene eksportert under GPL

Utviklerne var ikke fornøyd med tilgjengeligheten av implementeringen bare for de proprietære NVIDIA-driverne gjennom GPL-laget som ble levert av disse driverne.

Som svar på kritikk, forfatteren av lappen antydet at delsystemet ikke er koblet til NVIDIA og dens støtte kan blant annet gis for programvaregrensesnitt for AMD og Intel GPUer.

Som et resultat ble markedsføring av netgpu i kjernen ansett som umulig før tilgjengeligheten av arbeidsstøtte var basert på gratis drivere som AMDGPU, Intel i915 eller Nouveau.

Du må huske det tidligere, har Linux-kjernesamfunnet implementert en rekke endringer det bevisst eller som en bivirkning, har hindret utviklingen av proprietære moduler eller ikke kompatibel med lisenser.

Endelig hvis du vil vite mer om det, kan du sjekke detaljene ved å gå til følgende lenke.

Fuente: https://lkml.org/


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   David sa

    Kanskje det ville være bedre å sette artikkelen på engelsk i stedet for å bruke en oversetter. Det er mange deler som er uforståelige for meg.