This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / net / netlink / af_netlink.c
index 69a81d0..04fb045 100644 (file)
@@ -176,7 +176,7 @@ found:
        return sk;
 }
 
-static struct proto_ops netlink_ops;
+extern struct proto_ops netlink_ops;
 
 static int netlink_insert(struct sock *sk, u32 pid)
 {
@@ -365,7 +365,6 @@ static int netlink_connect(struct socket *sock, struct sockaddr *addr,
        struct sockaddr_nl *nladdr=(struct sockaddr_nl*)addr;
 
        if (addr->sa_family == AF_UNSPEC) {
-               sk->sk_state    = NETLINK_UNCONNECTED;
                nlk->dst_pid    = 0;
                nlk->dst_groups = 0;
                return 0;
@@ -381,12 +380,11 @@ static int netlink_connect(struct socket *sock, struct sockaddr *addr,
                err = netlink_autobind(sock);
 
        if (err == 0) {
-               sk->sk_state    = NETLINK_CONNECTED;
                nlk->dst_pid    = nladdr->nl_pid;
                nlk->dst_groups = nladdr->nl_groups;
        }
 
-       return err;
+       return 0;
 }
 
 static int netlink_getname(struct socket *sock, struct sockaddr *addr, int *addr_len, int peer)
@@ -429,9 +427,7 @@ struct sock *netlink_getsockbypid(struct sock *ssk, u32 pid)
 
        /* Don't bother queuing skb if kernel socket has no input function */
        nlk = nlk_sk(sock);
-       if ((nlk->pid == 0 && !nlk->data_ready) ||
-           (sock->sk_state == NETLINK_CONNECTED &&
-            nlk->dst_pid != nlk_sk(ssk)->pid)) {
+       if (nlk->pid == 0 && !nlk->data_ready) {
                sock_put(sock);
                return ERR_PTR(-ECONNREFUSED);
        }