|
@@ -475,13 +475,11 @@ static struct sock *nr_make_new(struct sock *osk)
|
|
|
sock_init_data(NULL, sk);
|
|
|
|
|
|
sk->sk_type = osk->sk_type;
|
|
|
- sk->sk_socket = osk->sk_socket;
|
|
|
sk->sk_priority = osk->sk_priority;
|
|
|
sk->sk_protocol = osk->sk_protocol;
|
|
|
sk->sk_rcvbuf = osk->sk_rcvbuf;
|
|
|
sk->sk_sndbuf = osk->sk_sndbuf;
|
|
|
sk->sk_state = TCP_ESTABLISHED;
|
|
|
- sk->sk_sleep = osk->sk_sleep;
|
|
|
sock_copy_flags(sk, osk);
|
|
|
|
|
|
skb_queue_head_init(&nr->ack_queue);
|
|
@@ -810,13 +808,11 @@ static int nr_accept(struct socket *sock, struct socket *newsock, int flags)
|
|
|
goto out_release;
|
|
|
|
|
|
newsk = skb->sk;
|
|
|
- newsk->sk_socket = newsock;
|
|
|
- newsk->sk_sleep = &newsock->wait;
|
|
|
+ sock_graft(newsk, newsock);
|
|
|
|
|
|
/* Now attach up the new socket */
|
|
|
kfree_skb(skb);
|
|
|
sk_acceptq_removed(sk);
|
|
|
- newsock->sk = newsk;
|
|
|
|
|
|
out_release:
|
|
|
release_sock(sk);
|