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

Mark Lord
2007-12-01T13:14:01Z

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.