views:

86

answers:

1

Hi All,

Company is producing the embedded network equipment.and we need to protect some private feature in the kernel module from GPL violation and I remember some kernel API can be used without GPL violation. Such as, libc, skb, dev.

But does anyone know the exact kernel API list which can be used in non-GPL kernel module?

Any suggestions will be much appreciated.

Sailor

+1  A: 

The exported interfaces are marked with either EXPORT_SYMBOL and EXPORT_SYMBOL_GPL, where the latter is restricted to only GPL (compatible) code. See also this article which has a summary and extract from various lkml posts from a related thread:

A recent post to the lkml began, "I'm writing a module under a proprietary license." The debate as to whether or not a kernel module is a derivative work of the Linux kernel itself and thus must also be released under the GPL has come up many times.

hlovdal
Thanks for your reply, that is useful.What about the kernel original structure's reference?For example,netfilter conntrack structure may be referenced by proprietary module.Does it violate the GPL?
Sailor

related questions