diff -NurpP --minimal linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/core/sock.c linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/core/sock.c --- linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/core/sock.c 2005-01-17 18:33:57 +0100 +++ linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/core/sock.c 2005-01-19 14:16:54 +0100 @@ -122,6 +122,7 @@ #include #include +#include #include #ifdef CONFIG_INET @@ -667,7 +668,10 @@ void sk_free(struct sock *sk) __FUNCTION__, atomic_read(&sk->sk_omem_alloc)); security_sk_free(sk); - BUG_ON(sk->sk_vx_info); + // BUG_ON(sk->sk_vx_info); + clr_vx_info(&sk->sk_vx_info); + sk->sk_xid = -1; + kmem_cache_free(sk->sk_slab, sk); module_put(owner); } @@ -1214,8 +1218,8 @@ void sock_init_data(struct socket *sock, sk->sk_stamp.tv_sec = -1L; sk->sk_stamp.tv_usec = -1L; - sk->sk_vx_info = NULL; - sk->sk_xid = 0; + set_vx_info(&sk->sk_vx_info, current->vx_info); + sk->sk_xid = vx_current_xid(); atomic_set(&sk->sk_refcnt, 1); } Files linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/ipv4/.af_inet.c.swp and linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/ipv4/.af_inet.c.swp differ diff -NurpP --minimal linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/ipv4/af_inet.c linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/ipv4/af_inet.c --- linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/ipv4/af_inet.c 2005-01-17 18:33:57 +0100 +++ linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/ipv4/af_inet.c 2005-01-19 14:15:45 +0100 @@ -157,8 +157,6 @@ void inet_sock_destruct(struct sock *sk) kfree(inet->opt); vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - sk->sk_xid = -1; dst_release(sk->sk_dst_cache); #ifdef INET_REFCNT_DEBUG @@ -326,8 +328,6 @@ override: sk->sk_protocol = protocol; sk->sk_backlog_rcv = sk->sk_prot->backlog_rcv; - set_vx_info(&sk->sk_vx_info, current->vx_info); - sk->sk_xid = vx_current_xid(); vx_sock_inc(sk); inet->uc_ttl = -1; @@ -392,8 +395,6 @@ int inet_release(struct socket *sock) timeout = sk->sk_lingertime; sock->sk = NULL; vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - sk->sk_xid = -1; sk->sk_prot->close(sk, timeout); } return 0; diff -NurpP --minimal linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/netlink/af_netlink.c linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/netlink/af_netlink.c --- linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/netlink/af_netlink.c 2005-01-17 18:33:57 +0100 +++ linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/netlink/af_netlink.c 2005-01-18 17:41:28 +0100 @@ -365,8 +365,6 @@ static int netlink_create(struct socket init_waitqueue_head(&nlk->wait); sk->sk_destruct = netlink_sock_destruct; - set_vx_info(&sk->sk_vx_info, current->vx_info); - sk->sk_xid = vx_current_xid(); vx_sock_inc(sk); sk->sk_protocol = protocol; @@ -411,8 +411,6 @@ static int netlink_release(struct socket } vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - sk->sk_xid = -1; sock_put(sk); return 0; diff -NurpP --minimal linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/unix/af_unix.c linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/unix/af_unix.c --- linux-2.6.11-rc1-vs1.9.4-rc2-ng8.7/net/unix/af_unix.c 2005-01-17 18:33:57 +0100 +++ linux-2.6.11-rc1-vs1.9.4-rc2-ng8.8/net/unix/af_unix.c 2005-01-18 17:41:44 +0100 @@ -555,8 +555,6 @@ static struct sock * unix_create1(struct sock_init_data(sock,sk); sk_set_owner(sk, THIS_MODULE); - set_vx_info(&sk->sk_vx_info, current->vx_info); - sk->sk_xid = vx_current_xid(); vx_sock_inc(sk); sk->sk_write_space = unix_write_space;