diff -NurpP --minimal a/net/x25/af_x25.c b/net/x25/af_x25.c --- a/net/x25/af_x25.c 2005-04-10 01:44:37.000000000 +0200 +++ b/net/x25/af_x25.c 2005-04-10 01:52:18.000000000 +0200 @@ -458,6 +458,7 @@ static struct sock *x25_alloc_socket(voi x25->sk = sk; + sock_init_data(NULL, sk); sk_set_owner(sk, THIS_MODULE); skb_queue_head_init(&x25->ack_queue); @@ -489,8 +490,10 @@ static int x25_create(struct socket *soc x25 = x25_sk(sk); - sock_init_data(sock, sk); - sk_set_owner(sk, THIS_MODULE); + sk->sk_socket = sock; + sk->sk_type = sock->type; + sk->sk_sleep = &sock->wait; + sock->sk = sk; x25_init_timers(sk);