|
@@ -893,13 +893,11 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
|
|
|
|
|
|
sk->sk_destruct = ax25_free_sock;
|
|
sk->sk_destruct = ax25_free_sock;
|
|
sk->sk_type = osk->sk_type;
|
|
sk->sk_type = osk->sk_type;
|
|
- sk->sk_socket = osk->sk_socket;
|
|
|
|
sk->sk_priority = osk->sk_priority;
|
|
sk->sk_priority = osk->sk_priority;
|
|
sk->sk_protocol = osk->sk_protocol;
|
|
sk->sk_protocol = osk->sk_protocol;
|
|
sk->sk_rcvbuf = osk->sk_rcvbuf;
|
|
sk->sk_rcvbuf = osk->sk_rcvbuf;
|
|
sk->sk_sndbuf = osk->sk_sndbuf;
|
|
sk->sk_sndbuf = osk->sk_sndbuf;
|
|
sk->sk_state = TCP_ESTABLISHED;
|
|
sk->sk_state = TCP_ESTABLISHED;
|
|
- sk->sk_sleep = osk->sk_sleep;
|
|
|
|
sock_copy_flags(sk, osk);
|
|
sock_copy_flags(sk, osk);
|
|
|
|
|
|
oax25 = ax25_sk(osk);
|
|
oax25 = ax25_sk(osk);
|
|
@@ -1361,13 +1359,11 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, int flags)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
newsk = skb->sk;
|
|
newsk = skb->sk;
|
|
- newsk->sk_socket = newsock;
|
|
|
|
- newsk->sk_sleep = &newsock->wait;
|
|
|
|
|
|
+ sock_graft(newsk, newsock);
|
|
|
|
|
|
/* Now attach up the new socket */
|
|
/* Now attach up the new socket */
|
|
kfree_skb(skb);
|
|
kfree_skb(skb);
|
|
sk->sk_ack_backlog--;
|
|
sk->sk_ack_backlog--;
|
|
- newsock->sk = newsk;
|
|
|
|
newsock->state = SS_CONNECTED;
|
|
newsock->state = SS_CONNECTED;
|
|
|
|
|
|
out:
|
|
out:
|