Predloži blokiranje upravljačkih programa koji pružaju pristup GPL pozivima Linux jezgri

Linux Kernel Logo, Tux

Christoph Hellwig, istaknuti programer jezgra Linux, koji je svojedobno bio član tehničkog upravnog odbora Linux fondacije i tužio GPL parnicu protiv VMware-a.

Predložio je pooštravanje zaštite protiv vezivanja vlasnički upravljački programi na izvezene komponente Linux jezgre samo za module licencirane prema GPL.

Da bi se izbjegla ograničenja izvoz GPL simbola, vlasnički proizvođači kontrolera koriste slojeviti modul, čiji je kôd otvorenog koda i distribuira se pod GPLv2 licencom, ali funkcije se svode na prosljeđivanje pristupa vlasničkog kontrolera API-ima kernel datoteke, čija je upotreba zabranjena izravno iz vlasničkog koda.

Da blokiraju takav manevar, Christoph Helwig pripremio je zakrpe za Linux kernel koje osiguravaju nasljeđivanje zastava povezanih s izvozom GPL simbola.

Imamo grešku u rezoluciji _GPL modula od prvog dana,
to jest, modul može tvrditi da ima GPL licencu i koristiti _GPL izvoz, istovremeno se oslanjajući na simbole modula koji nisu GPL. Ovo se koristi kao zaobilaženje _GPL izvoza korištenjem malog modula podmetača koji koristi _GPL izvoz i druge funkcije.

Prijedlog se svodi na nasljeđivanje pokazatelja TAINT_PROPRIETARY_MODULE u svim modulima koji uvoze simbole modula s ovom zastavicom.

Stoga, ako GPL modul srednjeg sloja pokuša uvoziti simbole iz ne-GPL modula, GPL modul će naslijediti oznaku TAINT_PROPRIETARY_MODULE i neće moći pristupiti komponentama jezgre dostupnim samo GPL licenciranim modulima, čak i ako je modul prethodno uvezen simboli iz "gplonly".

Hellvigov flaster sada pokušava to otežati. Moduli koji uvoze zaštićene simbole označeni su vlasničkim i nemaju pristup GPL simbolima. 

Izmjena je predložena kao odgovor na seriju objavljenih zakrpa od strane Facebook inženjera s implementacijom novog netgpu podsistema, koji omogućava direktnu razmjenu podataka (zero copy DMA) između mrežne kartice i GPU-a, dok CPU izvodi obradu protokola.

Time bi se izbjegla metoda koju je prvobitno planirao Jonathan Lemon za vaše zakrpe i učinio bi da razvoj međuslojeva izostavlja GPL simbol biti mnogo teže, čak i ako i dalje postoji mali jaz, kako je naznačeno.

U diskusiji koju trenutno vode razni programeri Linux kernela predloženo je obrnuto blokiranje: Ako modul uvozi EXPORT_SYMBOL_GPL simbole, simbole koje taj modul izvozi ne bi trebali uvoziti moduli koji izričito ne tvrde GPL kompatibilnost.

Oni koji nemaju modul uvoze EXPORT_SYMBOL_GPL simbole, svi njihovi izvezeni simboli trebaju se tretirati kao EXPORT_SYMBOL_GPL.

Christoph Helwig napisao je da se 100% slaže s ovim prijedlogom, ali Linus Torvalds neće propustiti tu promjenu jer će učiniti većinu podsustava jezgra nedostupnim vlasničkim pogoniteljima zbog činjenice da se prilikom razvijanja upravljačkih programa osnovni simboli izvoze pod GPL

Programeri nisu bili zadovoljni dostupnošću implementacije samo za vlasničke NVIDIA upravljačke programe kroz GPL sloj koji pružaju ti upravljački programi.

Kao odgovor na kritike, autor zakrpe naznačio je da podsistem nije povezan s NVIDIA-om a njegova podrška može se pružiti, između ostalog, za softverske interfejse za AMD i Intel GPU.

Kao rezultat, promocija netgpu-a u jezgru smatrana je nemogućom sve dok nije bila dostupna radna podrška zasnovana na besplatnim upravljačkim programima kao što su AMDGPU, Intel i915 ili Nouveau.

Morate to zapamtiti u prošlosti, Linux kernel zajednica ima proveo niz promjena to svjesno ili kao nuspojava, ometaju razvoj vlastitih modula ili nije kompatibilan sa licencama.

Konačno ako želite znati više o tome, detalje možete provjeriti odlaskom na sljedeći link.

Izvor: https://lkml.org/


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   David rekao je

    Možda bi bilo bolje da članak stavite na engleski, umjesto da koristite prevoditelj. Mnogo je dijelova koji su mi nerazumljivi.