Forslag til blokering af driverlag, der giver adgang til GPL-kald fra Linux-kernen

Christoph Hellwig, en anerkendt Linux-kernudvikler, der tidligere var en del af den tekniske styrekomité for Linux Foundation og som var sagsøger i en relateret sag vedrørende GPL retsag mod VMware, et håndskrevet patch til rettelsen. det er nødvendigt at skærpe beskyttelsen mod sammenbinding af proprietære drivere med Linux-kernens komponenter, der kun eksporteres til GPL-licensmoduler. For at omgå restriktionen på eksport af GPL-symboler bruger producenter af proprietære drivere en mellemmodul, hvis kode er åben og distribueres under GPLv2, men funktionerne er begrænset til at oversætte adgangen fra den proprietære driver til de nødvendige API'er i kernen, som er forbudt at bruge direkte fra proprietær kode.

For at blokere en sådan manøvre foreslår Christoph Hellwig har forberedt til Linux-kernen patches, der sikrer arv af flag, der er relateret til eksport af GPL-symboler. Forslaget går ud på at arve flaget TAINT_PROPRIETARY_MODULE i alle moduler, der importerer symboler fra moduler med dette flag. Dermed, hvis et GPL-mellemmodul forsøger at importere symboler fra et ikke-GPL-modul, vil GPL-modulet arve mærket TAINT_PROPRIETARY_MODULE og ikke kunne tilgå de kernekomponenter, der kun er tilgængelige for moduler under GPL-licensen, selv hvis modulet tidligere har importeret symboler fra kategorien 'gplonly'.

Under diskussionen blev der også af den opfattelse fremsat et forslag om omvendt blokering — hvis et modul importerer symboler fra EXPORT_SYMBOL_GPL, må alle symboler, der eksporteres af dette modul, ikke importeres af moduler, der ikke klart erklærer deres kompatibilitet med GPL. Det vil sige, hvis et modul importerer symboler fra EXPORT_SYMBOL_GPL, skal alle dets eksportede symboler behandles som EXPORT_SYMBOL_GPL. Christoph Hellwig skrev, at han 100% er enig i dette forslag, men en sådan ændring vil ikke blive godkendt af Linus Torvalds, da det vil resultere i, at størstedelen af kerneundersystemerne bliver utilgængelige for proprietære drivere, fordi grundsymboler eksporteres under GPL i processen med driverudviklingen.

Ændringen blev foreslået som svar på publicering en ingeniør fra Facebooks serie af patches med implementeringen af det nye netgpu-undersystem, der muliggør direkte dataoverførsel (DMA
zero-copy) mellem netværkskortet og GPU'en, samtidig med at CPU'en håndterer protokolbehandlingen. Utilfredshed blandt udviklerne blev vækket tilgængelighed implementering kun for proprietære NVIDIA-drivere gennem de GPL-lag, som disse drivere leverer. Som svar på , da termen replica er mere anvendelig i DBMS og fordrejer betydningen i konteksten af lydsystemet. Som et resultat blev der patch-forfatter at, at subsystemet ikke er bundet til NVIDIA, og dets support kan også leveres for softwaregrænseflader til GPU'er fra AMD og Intel. Som følge heraf blev promoveringen af netgpu i kernen anerkendt som umulig indtil der er fungerende support baseret på frie drivere, såsom AMDGPU, Intel i915 eller Nouveau.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster