Comments inline ..Remy
On 27/01/2016 16:24, Ferruh Yigit wrote: > This kernel module is based on KNI module, but this one is stripped > version of it and only for control messages, no data transfer > functionality provided. > > This Linux kernel module helps userspace application create virtual > interfaces and when a control command issued into that virtual > interface, module pushes the command to the userspace and gets the > response back for the caller application. > > Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com> > --- > + net_dev = alloc_netdev(sizeof(struct kcp_dev), name, > +#ifdef NET_NAME_UNKNOWN > + NET_NAME_UNKNOWN, > +#endif > + kcp_net_init); Something doesn't feel quite right here. In cases where NET_NAME_UNKNOWN is undefined, is the signature for alloc_netdev different? > +MODULE_LICENSE("Dual BSD/GPL"); > +MODULE_AUTHOR("Intel Corporation"); > +MODULE_DESCRIPTION("Kernel Module for managing kcp devices"); I'm not up to speed on this area, but some of the file headers only mention GPL/LGPL. This correct? > + nlmsg_unicast(nl_sock, skb, pid); > + KCP_DBG("Sent cmd:%d port:%d\n", cmd_id, port_id); > + > + /*nlmsg_free(skb);*/ > + > + return 0; > +} Oops.. :) Possible memory leak, or is *skb statically allocated?