[hsflinux] driver problem

Marc Boucher marc at linuxant.com
Sat Feb 28 23:51:37 EST 2004


On Feb 28, 2004, at 8:07 PM, jon787 at myrealbox.com wrote:

> On Fri, Feb 27, 2004 at 05:49:19PM -0500, Marc Boucher wrote:
>>
>> Hi Jon,
>>
>> On Feb 27, 2004, at 1:23 PM, Jon wrote:
>>
>>> As far as I know your drivers are under the license listed at
>>> http://www.linuxant.com/drivers/license.php
>>> So I was really curious when I installed them and didn't get a 
>>> warning
>>> message about 'tainting' my kernel like I get when I install the 
>>> nvidia
>>> graphics drivers.
>>>
>>> The tainted kernel warning occurs whenever you load a module that is
>>> not
>>> GPL'd into the kernel. This is done by string comparison on the
>>> MODULE_LICENSE string in the module.
>>>
>>> Here is that section from mod_engine.c
>>> MODULE_LICENSE("GPL\0for files in the \"GPL\" directory; for others,
>>> only LICENSE file applies");
>>>
>>
>> As the MODULE_LICENSE says, some distinct files (specifically those
>> under the GPL directory) are released under the GPL. This is mentioned
>> in the driver's README file:
>>
>> "Most files in this package are released under terms described in
>> the LICENSE file. Some distinct components, located in the
>> modules/GPL directory however are covered by the GNU General Public
>> License.
>> See the files LICENSE and modules/GPL/COPYING for details."
>>
>> The components are distinct in the sense that they are isolated from
>> the core softmodem driver, which essentially consists of independently
>> developed/licensed code ported from Windows that we do not even own.
>>
>> Full source for GPL/ed files is of course included in our tar.gz,
>> generic RPM, and .debs packages.
>>
>
> I know that
>
>>> Looks okay, until you notice the pesky null character stuck in it.
>>> As any C programmer will tell you, the end of a string is marked by a
>>> null character. So the effective string in MODULE_LICENSE is only
>>> "GPL".
>>
>> The \0 is in fact just a workaround to prevent repetitive messages
>> generated by the modutils when attempting to load several modules when
>> probing for each hardware type. These messages were very confusing for
>> ordinary users who often thought that their device was not working 
>> when
>> in fact everything was fine.
>>
>
> It is a bad workaround that causes your modules to mis-represent
> themselves to the operating system.

It is a workaround for a practical problem which is pretty bad in the 
case of drivers with multiple modules.

We do not use or depend on any GPLONLY functions as far as I know.

Also in cases where the practical problem does not occur (like 
DriverLoader) we do not use it.

>
>>
>>> While personally I think this is a nice trick, I doubt Torvalds 
>>> and/or
>>> Stallman would agree. I will wait a week for a response on this 
>>> mailing
>>> list before asking them what they think of it.
>>
>> Why not instead ask the modutils maintainer(s) for a way to attenuate
>> the confusing/redundant messages and make the workaround unnecessary
>> (we'll be glad to remove it if it is no longer needed), instead of
>> launching a futile debate that will detract attention and scarce
>> resources that are much more needed & constructively spent in 
>> technical
>> areas?
>>
>
> Nvidia and ATI don't do it.

Do they sequentially probe multiple modules for many hardware types? 
Probably not.

> Anyway modutils is dead, replaced by module-init-tools for 2.5.48
> kernels and above. I'm not sure if module-init-tools reports the 
> tainted
> status to the terminal, I haven't loaded any tainted modules with it 
> but
> running strings on the binaries doesn't show the word "taint" appearing
> in them so they probably don't.

modutils is far from dead, it is still used by the vast majority of our 
users.

>
>>
>> We're trying to deliver much needed drivers for Linux users with a
>> practical approach, in a way that reasonably satisfies all of the
>> different interests involved (hardware manufacturers, the community's,
>> our own obligations and necessity to be financially viable to survive
>> etc..). Presently we have a fragile, but working balance, which might
>> not be maintainable if one party starts making life too difficult..
>>
>> Regards
>> Marc
>>
>
> To quote your own website:
> "Integrity - We employ the highest ethical standards in every action we
> take, starting with each other."

Absolutely. There is nothing unethical about implementing a smart 
workaround to eliminate user confusion caused by a highly 
controversial/impractical modutils behavior. If you can think of a 
better way to fix the issue for the large installed based out there, 
feel free to submit a patch.

Marc

> -- 
> Jon
> http://tesla.resnet.mtu.edu
> "I don't care to belong to any organization that accepts
>  me as a member." -- Groucho Marx
>
> _______________________________________________
> hsflinux mailing list
> hsflinux at lists.linuxant.com
> https://www.linuxant.com/mailman/listinfo/hsflinux
>



More information about the hsflinux mailing list