Subject: Re: namespace support requires network modules to say "GPL"

From: Mark Lord <[email-masked]>
Date: Sat, 01 Dec 2007 08:13:48 -0500

Mark Lord wrote:
>> Now that we have network namespace support merged it is time to
>> revisit the sysfs support so we can remove the dependency on !SYSFS.
> ...
> Now that the namespace updates are part of 2.6.24,
> there is a major inconsistency in network EXPORT_SYMBOLs.
> 
> It used to be that an external network module could get away without
> having to add a MODULE_LICENSE("GPL*") line to the source.
> 
> In support of that, common networking functions (still) use EXPORT_SYMBOL()
> rather than the more restrictive EXPORT_SYMBOL_GPL().
> 
> Eg.  register_netdev(), sk_alloc(), __dev_get_by_name().
> 
> But now, none of those three are actually usable by default,
> because they all require "init_net", which is EXPORT_SYMBOL_GPL().
> 
> So.. It appears that one of three things should really happen next:
> 
> 1) Change the other exports to also be EXPORT_SYMBOL_GPL.
> 
> 2) Have register_netdev, sk_alloc, and __dev_get_by_name default
> to using init_net when NULL is specified in the namespace field.
> 
> or
> 3) Change init_net to be EXPORT_SYMBOL_GPL.
..

Obviously that should instead say:

3) Change init_net to be EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL.