Christoph Hellwig, tuntud kerneli arendaja Linux, kes oli ühel ajal organisatsiooni tehnilise juhtkomitee liige Linux Foundation и выступавший истцом в связанном с GPL VMware'iga, ужесточить защиту от связывания проприетарных драйверов с компонентами ядра Linux, экспортируемыми только для модулей под лицензией GPL. Для обхода ограничения на экспорт GPL-символов производители проприетарных драйверов используют модуль-прослойку, код которой открыт и распространяется под лицензией GPLv2, но функции сводятся к трансляции доступа проприетарного драйвера к необходимым API ядра, запрещённым для использования из проприетарного кода напрямую.
Sellise manöövri blokeerimiseks Christoph Helwig südamiku jaoks Linux патчи, обеспечивающие наследование флагов, связанных с экспортом GPL-символов. Предложение сводится к наследованию флага TAINT_PROPRIETARY_MODULE во всех модулях, импортирующих символы из модулей с данным флагом. Таким образом, если GPL модуль-прослойка попытается импортировать символы из не-GPL модуля, то GPL-модуль унаследует метку TAINT_PROPRIETARY_MODULE и не сможет обращаться к компонентам ядра, доступным только для модулей под лицензией GPL, даже если модуль ранее импортировал символы из категории «gplonly».
Arutelu käigus oli ka vastupidise lukustamise soovitus – kui moodul impordib sümboleid EXPORT_SYMBOL_GPL, ei tohiks selle mooduli poolt eksporditud sümboleid importida moodulid, mis ei väida sõnaselgelt GPL-i ühilduvust. Need. kui moodul impordib EXPORT_SYMBOL_GPL sümboleid, tuleb kõiki selle eksporditud sümboleid käsitleda kui EXPORT_SYMBOL_GPL. Christoph Helwig , et olen selle ettepanekuga 100% nõus, kuid Linus Torvalds ei jäta sellist muudatust kasutamata, kuna see toob kaasa ligipääsmatuse enamikule tuuma alamsüsteemidele patenteeritud draiverite jaoks, kuna draiverite arendamisel kasutatakse põhisümboleid. GPL-i alusel eksporditud.
Muudatus tehti vastuseks Facebooki insener, plaastrite seeria uue netgpu alamsüsteemi rakendamisega, mis võimaldab otsest andmevahetust (DMA
nullkoopia) võrgukaardi ja GPU vahel, töötledes samal ajal protokolli protsessori poolt. helistasid arendajad teostused ainult patenteeritud NVIDIA draiverite jaoks nende draiverite pakutava GPL-kihi kaudu. Vastuseks plaastri autor et alamsüsteem ei ole seotud NVIDIA-ga ja selle tuge saab pakkuda ka AMD ja Inteli GPU-de tarkvaraliideste jaoks. Seetõttu peeti netgpu kernelisse reklaamimist võimatuks, kuni saadavale sai tasuta draiveritel (nt AMDGPU, Intel i915 või Nouveau) põhinev töötugi.
Allikas: opennet.ru
