Re: incorrect taint of ndiswrapper

Alan Cox
2006-10-23T12:57:46Z

Ar Llu, 2006-10-23 am 04:35 -0700, ysgrifennodd Giridhar Pemmasani:
> So the idea of tainting is to _prevent_ any binary code being loaded into
> kernel, even if kernel is marked as having binary code loaded, which I
> thought was the purpose of tainting (so that people not interested in dealing
> with binary code know they don't have/want to)? If that is the goal, how do
> you know this scheme of adding names to module loader in kernel guarantees
> that (now or in future)?

There are two overlapping mechanisms here

Taint is used to identify situations where debug data may not be good,
that may be proprietary or other dubiously legal code, it may be forcing
SMP active on non SMP suitable systems, it may be overriding certain
options in a potentially hazardous fashion. Taint exists primarily to
help debugging data analysis.

EXPORT_SYMBOL_GPL() is used to assert that the symbol is absolutely
definitely not a public symbol. EXPORT_SYMBOL exports symbols which
might be but even then the GPL derivative work rules apply. When you
mark a driver GPL it is permitted to use _GPL symbols, but if it does so
it cannot then go and load other non GPL symbols and expect people not
to question its validity.