Unknown symbol usb_register_driver

Greg KH greg at kroah.com
Mon Aug 29 17:06:18 EDT 2011


On Mon, Aug 29, 2011 at 01:56:20PM -0700, Jeff Haran wrote:
> > -----Original Message-----
> > From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-
> > bounces at kernelnewbies.org] On Behalf Of Greg KH
> > Sent: Monday, August 29, 2011 12:33 PM
> > To: Prajosh Premdas
> > Cc: kernelnewbies at kernelnewbies.org
> > Subject: Re: Unknown symbol usb_register_driver
> > 
> > On Tue, Aug 30, 2011 at 12:45:11AM +0530, Prajosh Premdas wrote:
> > > Hi
> > >
> > > I am using Linux-2.6.31-14 based on Ubuntu karmic. I am developing
> > > a proprietary usb driver and was doing my study .
> > 
> > The Linux USB subsystem does not allow non-GPL kernel drivers, sorry.
> > 
> > greg k-h
> 
> Prajosh,
> 
> In other words, your efforts to write a non-GPL USB module are stymied
> by the following in the kernel sources:
> 
> EXPORT_SYMBOL_GPL(usb_register_driver);
> EXPORT_SYMBOL_GPL(usb_deregister);
> 
> So you go through the same rigmarole that everybody else does when
> they run into this and can't talk their management into GPL'ing the
> actual source for the module you are writing.
> 
> You write a little stub module that is GPL that contains two functions
> that take the same parameters as usb_register_driver() and
> usb_deregister(). These functions do nothing but call
> usb_register_driver() and usb_deregister() and return what they
> return, but you export them with EXPORT_SYMBOL() instead of
> EXPORT_SYMBOL_GPL(). Your company releases the little stub module
> under GPL and your private code calls the new functions it exports.

If you do that, expect legal action to be taken against you.

The "GPL condom" aproach has been tried numerous times by companies with
no legal experience with the GPL and every time, it has failed.  Samba
has numerous public legal cases where this was attempted, if you want
some public case history.  The Linux attempts to do this have all
resulted in the release of the source code, or it no longer being
distributed at all.

So please don't do that, it only wastes people's time and lawyer money
in the end.

Unless you want to keep the lawyers in business, then, by all means, go
ahead and try this :)

good luck,

greg k-h



More information about the Kernelnewbies mailing list