Erbjudande om blockering av pass-through-drivrutiner som ger tillgång till GPL-anrop i Linux-kärnan

Christoph Hellwig, en känd utvecklare av Linux-kärnan som tidigare var med i den tekniska kommittén för Linux Foundation och agerade som kärande i en rättslig strid relaterad till GPL rättslig tvist med VMware, föreslog för att skärpa skyddet mot koppling av proprietära drivrutiner till Linux-kärnkomponenter som endast exporteras för moduler under GPL-licens. För att kringgå exportbegränsningen av GPL-symboler använder tillverkare av proprietära drivrutiner en mellanmodul vars kod är öppen och sprids under GPLv2, men vars funktioner begränsas till att översätta mellan den proprietära drivrutinen och nödvändiga API:er i kärnan som inte får användas direkt från proprietär kod.

För att blockera denna typ av manöver föreslog Christoph Hellwig har förberett patchar för Linux-kärnan som säkerställer ärvande av flaggor relaterade till export av GPL-symboler. Förslaget går ut på ärvande av flaggan TAINT_PROPRIETARY_MODULE i alla moduler som importerar symboler från moduler med denna flagga. Så om en GPL-mellanmodul försöker importera symboler från en icke-GPL-modul, kommer GPL-modulen att ärva märket TAINT_PROPRIETARY_MODULE och inte kunna få åtkomst till kärnkomponenter som endast är tillgängliga för moduler under GPL-licens, även om modulen tidigare importerade symboler från kategorin 'gplonly'.

Vid diskussionen föreslogs även en åsikt ett omvänt blockering — om en modul importerar symboler EXPORT_SYMBOL_GPL, får inga symboler som exporteras av denna modul importeras av moduler som inte klart deklarerar kompatibilitet med GPL. Det vill säga, om en modul importerar symboler EXPORT_SYMBOL_GPL, ska alla dess exporterade symboler behandlas som EXPORT_SYMBOL_GPL. Christoph Hellwig skrev, håller fullständigt med detta förslag, men en sådan ändring kommer inte att godkännas av Linus Torvalds, eftersom det skulle göra en stor del av kärnans subsystem otillgängliga för proprietära drivrutiner, eftersom grundläggande symboler som exporteras under GPL inkluderas vid utvecklingen av drivrutiner.

Ändringen föreslogs som svar på publiceringen en ingenjör från Facebook som skickade in en serie patchar för implementering av det nya subsystemet netgpu, vilket gör det möjligt att organisera direkt datbyten (DMA
zero-copy) mellan nätverkskortet och GPU:n, samtidigt som CPU:n utför protokollet. Missnöjet hos utvecklarna väcktes tillgänglighet genomförande endast för proprietära NVIDIA-drivrutiner via den givna GPL-lagret som tillhandahålls av dessa drivrutiner. Som svar på , eftersom termen replica är mer tillämplig på databasystem och förvränger betydelsen i sammanhanget av ljudsystemet. Som ett resultat valdes termen skaparen av patcharna att, att under systemet inte är knutet till NVIDIA och dess stöd kan även tillhandahållas för programmeringsgränssnitt för GPU:er från AMD och Intel. Som ett resultat erkändes det att främjandet av netgpu in i kärnan var omöjligt tills fungerande stöd baserat på fria drivrutiner, såsom AMDGPU, Intel i915 eller Nouveau, fanns.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster