Navrhněte blokování ovladačů, které poskytují přístup k volání GPL do linuxového jádra

Logo linuxového jádra, Tux

Christoph Hellwig, prominentní vývojář linuxových jader, který byl kdysi členem technického řídícího výboru Linux Foundation a žaloval ve sporu GPL proti VMware.

Navrhl zpřísnění ochrany proti vázání proprietární ovladače exportovat komponenty linuxového jádra pouze pro moduly licencované podle GPL.

Aby se zabránilo omezení exportovat symboly GPL, proprietární výrobci řadičů používají modul vrstvy, jehož kód je open source a je distribuován pod licencí GPLv2, ale funkce se scvrkávají na předání přístupu vlastníka řadiče k API soubory jádra, jejichž použití je zakázáno přímo z proprietárního kódu.

Chcete-li zablokovat takový manévr, Christoph Helwig připravil opravy pro linuxové jádro, které zajišťují dědičnost příznaků spojených s exportem symbolů GPL.

Od prvního dne došlo k chybě v rozlišení našeho modulu _GPL,
to znamená, že si modul může nárokovat licenci GPL a používat exporty _GPL, přičemž se také spoléhá na symboly modulu jiné než GPL. Toto se používá jako obcházení exportu _GPL pomocí malého modulu překrytí, který používá exporty _GPL a další funkce.

Návrh se scvrkává na zdědění indikátoru TAINT_PROPRIETARY_MODULE ve všech modulech, které importují symboly modulů s tímto příznakem.

Pokud se tedy modul střední vrstvy GPL pokusí importovat symboly z modulu jiného než GPL, modul GPL zdědí značku TAINT_PROPRIETARY_MODULE a nebude mít přístup ke komponentám jádra dostupným pouze modulům s licencí GPL, i když byl modul dříve importován symboly z „gplonly“.

Hellwigina náplast se to nyní snaží ztěžovat. Moduly, které importují proprietární symboly, jsou označeny jako proprietární a nemají přístup ke symbolům GPL. 

Změna byla navržena v reakci na řadu vydaných oprav inženýr Facebooku s implementací nového subsystému netgpu, který umožňuje přímou výměnu dat (nulová kopie DMA) mezi síťovou kartou a GPU při provádění zpracování protokolu CPU.

Tím by se zabránilo metodě původně plánované Jonathanem Lemonem pro vaše opravy a způsobí, že vývoj mezivrstev vynechá symbol GPL být mnohem obtížnější, i když stále existuje malá mezera, jak je uvedeno.

V diskusi, kterou právě vedou různí vývojáři linuxových jader bylo navrženo reverzní blokování: Pokud modul importuje symboly EXPORT_SYMBOL_GPL, symboly exportované tímto modulem by neměly být importovány moduly, které výslovně nenárokují kompatibilitu GPL.

Ti, kteří bez modulu importují symboly EXPORT_SYMBOL_GPL, by se se všemi jejich exportovanými symboly mělo zacházet jako s EXPORT_SYMBOL_GPL.

Christoph Helwig napsal, že s tímto návrhem 100% souhlasí, ale Linus Torvalds tuto změnu nezmešká, protože způsobí, že většina subsystémů jádra nebude k dispozici pro proprietární ovladače, protože při vývoji ovladačů se exportují základní symboly pod GPL

Vývojáři nebyli spokojeni s dostupností implementace pouze pro proprietární ovladače NVIDIA prostřednictvím vrstvy GPL poskytované těmito ovladači.

V reakci na kritiku autor opravy uvedl, že subsystém není propojen s NVIDIA a jeho podpora může být poskytována mimo jiné pro softwarová rozhraní pro GPU AMD a Intel.

Výsledkem bylo, že podpora netgpu v jádře byla považována za nemožnou, dokud nebyla k dispozici funkční podpora založená na bezplatných ovladačích, jako jsou AMDGPU, Intel i915 nebo Nouveau.

To si musíte pamatovat v minulostikomunita jádra Linuxu má implementovala řadu změn že vědomě nebo jako vedlejší účinek, bránily vývoji proprietárních modulů nebo není kompatibilní s licencemi.

Konečně pokud o tom chcete vědět víc, můžete zkontrolovat podrobnosti přechodem na následující odkaz.

zdroj: https://lkml.org/


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   David řekl

    Možná by bylo lepší umístit článek do angličtiny, místo použití překladače. Existuje mnoho částí, které pro mě nejsou srozumitelné.