Re: incorrect taint of ndiswrapper

Gianluca Alberici
2006-10-26T16:29:27Z

Stephen Hemminger wrote:

>On Thu, 26 Oct 2006 11:39:59 +0100
>Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
>
>
>>Ar Mer, 2006-10-25 am 20:59 -0700, ysgrifennodd Andrew Morton:
>>
>>
>>>May be so. But this patch was supposed to print a helpful taint message to
>>>draw our attention to the fact that ndis-wrapper was in use. The patch was
>>>not intended to cause gpl'ed modules to stop loading
>>>
>>>
>>The stopping loading is purely because it now uses _GPLONLY symbols,
>>which is fine until the user wants to load a windows driver except for
>>the old CIPE driver. Some assumptions broke somewhere along the way and
>>the chain of events that was never forseen unfolded.
>>
>>
>>
>>>Now, if we do want to disallow gpl module loading after ndis-wrapper has
>>>been used then fine
>>>
>>>
>>The problem is we do the dynamic link at module load time. We would have
>>to unlink the module if it tried to taint itself, which is clearly not
>>what the end user needs to suffer. Having the taint function actually
>>taint and printk + return a "Linked gplonly you can't" error seems the
>>better solution.
>>
>>Really ndiswrapper shouldn't be using _GPLONLY symbols, that would
>>actually make it useful to the binary driver afflicted again and more
>>likely to be legal.
>>
>>
>>
>
>What are the symbols in question? A simple test would be to take the GPL
>MODULE_LICENSE() off of ndiswrapper and try loading it.
>
>
>
i've found:

__create_workqueue
queue_work

As i said removing add_taint() in modules.c in the section regarding
ndiswrapper makes the module load correctly.

regards,

Gianluca