void *msg, int len))
{
struct sock *sock;
+ struct netlink_kernel_cfg cfg = {
+ .input = netlink_rcv,
+ };
#if !defined(DEFINE_MUTEX)
init_MUTEX(&netlink_mutex);
#endif
- sock = netlink_kernel_create(&init_net, unit, 0, netlink_rcv, NULL,
- THIS_MODULE);
+ sock = netlink_kernel_create(&init_net, unit, THIS_MODULE, &cfg);
if (sock)
rcv_cb = cb;
kfree_skb(skb);
return -EMSGSIZE;
}
-
memcpy(nlmsg_data(nlh), msg, len);
NETLINK_CB(skb).pid = 0;
}
ret = 0;
}
-
return ret;
}