Navrhnite blokovanie ovládačov, ktoré poskytujú prístup k volaniam GPL do jadra systému Linux

Logo jadra Linuxu, Tux

Christoph Hellwig, popredný vývojár jadra systému Linux, ktorý bol kedysi členom technického riadiaceho výboru nadácie Linux Foundation a žaloval v spore GPL proti spoločnosti VMware.

Navrhol sprísnenie ochrany proti viazaniu proprietárne ovládače na exportované komponenty jadra Linuxu iba pre moduly licencované na základe GPL.

Aby sa zabránilo obmedzeniam exportovať symboly GPL, proprietárni výrobcovia radičov používajú vrstvový modul, ktorého kód je open source a je distribuovaný pod licenciou GPLv2, ale funkcie sa scvrkávajú na odovzdanie prístupu vlastníka kontrolóra k API súbory jadra, ktorých použitie je zakázané priamo z vlastníckeho kódu.

Ak chcete zablokovať takýto manéver, Christoph Helwig pripravil opravy pre jadro Linuxu, ktoré zaisťujú dedičnosť z vlajok spojených s exportom symbolov GPL.

Od prvého dňa sa vyskytla chyba v rozlíšení nášho modulu _GPL,
tj modul si môže nárokovať licenciu GPL a používať exporty _GPL, pričom sa spolieha aj na symboly modulov iné ako GPL. Toto sa používa ako obchádzanie exportov _GPL pomocou malého modulu prekrytia, ktorý využíva exporty _GPL a ďalšie funkcie.

Návrh sa dedí po indikátore TAINT_PROPRIETARY_MODULE vo všetkých moduloch, ktoré importujú symboly modulov s týmto príznakom.

Ak sa teda modul strednej vrstvy GPL pokúsi importovať symboly z modulu, ktorý nie je GPL, modul GPL zdedí značku TAINT_PROPRIETARY_MODULE a nebude môcť pristupovať ku komponentom jadra dostupným iba pre moduly s licenciou GPL, a to ani v prípade, že bol modul predtým importovaný symboly z „gplonly“.

Hellwigina náplasť sa to teraz snaží sťažiť. Moduly, ktoré importujú chránené symboly, sú označené ako chránené symboly a nemajú prístup k symbolom GPL. 

Zmena bola navrhnutá ako reakcia na sériu vydaných opráv inžinier Facebooku s implementáciou nového subsystému netgpu, ktorý umožňuje priamu výmenu dát (nulová kópia DMA) medzi sieťovou kartou a GPU pri súčasnom vykonávaní spracovania protokolu procesorom.

Tým by sa zabránilo metóde, ktorú pôvodne plánoval Jonathan Lemon pre vaše opravy a pri vývoji medzivrstiev by bol vynechaný symbol GPL byť oveľa ťažšie, aj keď stále existuje malá medzera, ako je uvedené.

V diskusii, ktorú momentálne vedú tiež rôzni vývojári jadra Linuxu bolo navrhnuté reverzné blokovanie: Ak modul importuje symboly EXPORT_SYMBOL_GPL, symboly exportované týmto modulom by sa nemali importovať modulmi, ktoré výslovne nepožadujú kompatibilitu s GPL.

Tí, ktorí bez modulu importujú symboly EXPORT_SYMBOL_GPL, mali by sa všetky ich exportované symboly považovať za EXPORT_SYMBOL_GPL.

Christoph Helwig napísal, že s týmto návrhom súhlasí na 100%, ale Linus Torvalds túto zmenu nevynechá, pretože spôsobí, že väčšina subsystémov jadra nebude k dispozícii proprietárnym ovládačom, pretože pri vývoji ovládačov sa základné symboly exportujú pod GPL

Vývojári neboli spokojní s dostupnosťou implementácie iba pre proprietárne ovládače NVIDIA prostredníctvom vrstvy GPL poskytovanej týmito ovládačmi.

V reakcii na kritiku autor opravy uviedol, že subsystém nie je prepojený s NVIDIA a jeho podpora môže byť poskytnutá okrem iného pre softvérové ​​rozhrania pre AMD a Intel GPU.

Vo výsledku sa podpora netgpu v jadre považovala za nemožnú, kým nebola k dispozícii funkčná podpora založená na bezplatných ovládačoch ako AMDGPU, Intel i915 alebo Nouveau.

To si musíte pamätať v minulosti, komunita jadra Linuxu má implementovala celý rad zmien že vedome alebo ako vedľajší účinok, bránili rozvoju proprietárnych modulov alebo nie je kompatibilný s licenciami.

Konečne ak o tom chcete vedieť viac, môžete skontrolovať podrobnosti prechodom na nasledujúci odkaz.

Fuente: https://lkml.org/


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   David dijo

    Možno by bolo lepšie umiestniť článok do angličtiny namiesto použitia prekladača. Existuje veľa častí, ktoré sú pre mňa nezrozumiteľné.