Ponuda za blokiranje vozača-proslojka koji omogućuju pristup GPL-pozivima jezgre Linuxa

Kristof Helvig (Christoph Hellwig), poznati programer jezgre Linuxa, u svoje vrijeme član upravnog tehničkog odbora organizacije Linux Foundation i tužitelj u vezi s GPL-om sudskom postupku s VMware, predložio pojačati zaštitu od spajanja proprietarnih vozača s komponentama jezgre Linuxa, koje se izvoze samo za module pod GPL licencom. Kako bi zaobišli ograničenje na izvoz GPL-simbola, proizvođači proprietarnih vozača koriste modul-proslojku, čiji je kod otvoren i distribuira se pod GPLv2 licencom, a njegove funkcije svode se na prevođenje pristupa proprietarnom vozaču potrebnim API-ima jezgre, koji su zabranjeni za korištenje iz proprietarnog koda izravno.

Kako bi se blokirao takav manevar, Kristof Helvig pripremio za jezgru Linuxa zakrpe koje osiguravaju nasljeđivanje oznaka povezanih s izvozom GPL-simbola. Ponuda se svodi na nasljeđivanje oznake TAINT_PROPRIETARY_MODULE u svim modulima koji uvoze simbole iz modula s ovom oznakom. Tako, ako GPL modul-proslojka pokuša uvesti simbole iz ne-GPL modula, GPL-modul će naslijediti oznaku TAINT_PROPRIETARY_MODULE i neće moći pristupati komponentama jezgre dostupnim samo za module pod GPL licencom, čak i ako je modul ranije uvozio simbole iz kategorije 'gplonly'.

Tijekom rasprave takođe je izrečena ponuda za obratnu blokadu — ako modul uvozi simbole EXPORT_SYMBOL_GPL, svi simboli koje ovaj modul izveze ne smiju se uvoziti iz modulima koji izričito ne tvrde da su kompatibilni s GPL-om. Tj. ako modul uvozi simbole EXPORT_SYMBOL_GPL, svi njegovi izvezeni simboli trebaju se obrađivati kao EXPORT_SYMBOL_GPL. Kristof Helvig napisao, da se 100% slaže s ovom ponudom, ali takva promjena neće proći Linus Torvalds, jer će dovesti do nedostupnosti većine podsustava jezgre za proprietarne vozače, zbog toga što se prilikom razvoja vozača povezuju osnovni simboli koji se izvoze pod GPL-om.

Promjena je predložena kao odgovor na publikaciju inženjera iz Facebooka serije zakrpa s implementacijom novog podsustava netgpu, koji omogućava organiziranje izravne razmjene podataka (DMA
zero-copy) između mrežne kartice i GPU-a, pritom obavljajući obradu protokola pomoću CPU-a. nezadovoljstvo programera izazvalo je dostupnost implementacije isključivo za vlasničke NVIDIA upravljačke programe putem GPL sloja koji pružaju ti upravljački programi. Kao odgovor na kritiku autor zakrpa je naveo, da podsustav nije vezan za NVIDIA-u i da njena podrška može biti osigurana uključujući i programske sučelje za GPU AMD i Intel. Kao rezultat, napredak netgpu-a u jezgru je proglašen nemogućim dok ne bude dostupna funkcionalna podrška na temelju slobodnih upravljačkih programa poput AMDGPU, Intel i915 ili Nouveau.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster