Oferte de blocare a driverelor-intermediar care oferă acces la apelurile GPL ale nucleului Linux

Christoph Hellwig, un cunoscut dezvoltator al nucleului Linux, care a fost cândva membru al comitetului tehnic de conducere al organizației Linux Foundation și a acționat ca reclamant într-un proces legat de GPL proces cu VMware, a propus pentru a întări protecția împotriva legării driverelor proprietare cu componentele nucleului Linux, care sunt exportate doar pentru module sub licența GPL. Pentru a ocoli restricția privind exportul simbolurilor GPL, producătorii de drivere proprietare folosesc un modul intermediar, a cărui cod este deschis și distribuit sub licența GPLv2, dar funcțiile sale se limitează la traducerea accesului driverului proprietar la API-urile nucleului, interzise pentru utilizarea din cod proprietar direct.

Pentru a bloca o astfel de manevră, Christoph Hellwig a pregătit a propus pentru nucleul Linux patch-uri care asigură moștenirea etichetelor legate de exportul simbolurilor GPL. Propunerea constă în moștenirea etichetei TAINT_PROPRIETARY_MODULE în toate modulele care importă simboluri din module cu această etichetă. Astfel, dacă un modul GPL intermediar va încerca să importe simboluri dintr-un modul non-GPL, modul GPL va moșteni eticheta TAINT_PROPRIETARY_MODULE și nu va putea accesa componentele nucleului disponibile doar pentru module sub licența GPL, chiar dacă modulul a importat anterior simboluri din categoria „gplonly”.

În discuție a fost de asemenea îngrijorare o propunere de blocare inversă — dacă un modul importă simboluri EXPORT_SYMBOL_GPL, orice simboluri exportate de acel modul nu ar trebui să fie importate de module care nu declară în mod explicit compatibilitatea cu GPL. Adică, dacă un modul importă simboluri EXPORT_SYMBOL_GPL, toate simbolurile sale exportate trebuie tratate ca EXPORT_SYMBOL_GPL. Christoph Hellwig Jurnalistul Bloomberg Jason Schreier, este 100% de acord cu această propunere, dar o astfel de modificare nu va fi acceptată de Linus Torvalds, deoarece va duce la inaccesibilitatea pentru driverele proprietare a celei mai mari părți a subsistemului nucleului, din cauza faptului că în dezvoltarea driverelor se folosesc simboluri de bază, exportate sub GPL.

Modificarea a fost propusă ca răspuns la publicarea un inginer de la Facebook, o serie de patch-uri cu implementarea unui nou subsistem netgpu, care permite organizarea unei schimburi directe de date (DMA
zero-copy) între plăca de rețea și GPU, efectuând în același timp procesarea protocolului prin intermediul CPU-ului. Nemulțumirea dezvoltatorilor a fost provocată a implementările sunt doar pentru driverele proprietare NVIDIA prin intermediul straturilor GPL furnizate de aceste drivere. Ca răspuns la critici autorul patch-urilor am indicat, sistemul nu este legat de NVIDIA și suportul acestuia ar putea fi asigurat și pentru interfețele de programare GPU AMD și Intel. Ca urmare, promovarea netgpu în kernel a fost considerată imposibilă până la apariția unui suport funcțional bazat pe drivere liber, cum ar fi AMDGPU, Intel i915 sau Nouveau.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster