int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock,
                long timeo, struct sock *ssk);
 void netlink_detachskb(struct sock *sk, struct sk_buff *skb);
-int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol);
+int netlink_sendskb(struct sock *sk, struct sk_buff *skb);
 
 /*
  *     skb should fit one page. This choice is good for headerless malloc.
 
                        break;
                case SIGEV_THREAD:
                        set_cookie(info->notify_cookie, NOTIFY_WOKENUP);
-                       netlink_sendskb(info->notify_sock,
-                                       info->notify_cookie, 0);
+                       netlink_sendskb(info->notify_sock, info->notify_cookie);
                        break;
                }
                /* after notification unregisters process */
        if (info->notify_owner != NULL &&
            info->notify.sigev_notify == SIGEV_THREAD) {
                set_cookie(info->notify_cookie, NOTIFY_REMOVED);
-               netlink_sendskb(info->notify_sock, info->notify_cookie, 0);
+               netlink_sendskb(info->notify_sock, info->notify_cookie);
        }
        put_pid(info->notify_owner);
        info->notify_owner = NULL;
 
        return 0;
 }
 
-int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol)
+int netlink_sendskb(struct sock *sk, struct sk_buff *skb)
 {
        int len = skb->len;
 
        if (err)
                return err;
 
-       return netlink_sendskb(sk, skb, ssk->sk_protocol);
+       return netlink_sendskb(sk, skb);
 }
 
 int netlink_has_listeners(struct sock *sk, unsigned int group)