Files linux-2.6.11-rc3-vs1.9.4-rc5.base/net/core/.sock.c.swp and linux-2.6.11-rc3-vs1.9.4-rc5/net/core/.sock.c.swp differ diff -NurpP --minimal linux-2.6.11-rc3-vs1.9.4-rc5.base/net/core/sock.c linux-2.6.11-rc3-vs1.9.4-rc5/net/core/sock.c --- linux-2.6.11-rc3-vs1.9.4-rc5.base/net/core/sock.c 2005-02-03 15:26:53 +0100 +++ linux-2.6.11-rc3-vs1.9.4-rc5/net/core/sock.c 2005-02-07 00:12:51 +0100 @@ -123,6 +123,7 @@ #include #include +#include #ifdef CONFIG_INET #include @@ -668,8 +669,13 @@ void sk_free(struct sock *sk) __FUNCTION__, atomic_read(&sk->sk_omem_alloc)); security_sk_free(sk); - BUG_ON(sk->sk_vx_info); + vx_sock_dec(sk); + // BUG_ON(sk->sk_vx_info); + clr_vx_info(&sk->sk_vx_info); + sk->sk_xid = -1; - BUG_ON(sk->sk_nx_info); + // BUG_ON(sk->sk_nx_info); + clr_nx_info(&sk->sk_nx_info); + sk->sk_nid = -1; kmem_cache_free(sk->sk_slab, sk); module_put(owner); } @@ -1218,11 +1224,11 @@ 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(); - sk->sk_nx_info = NULL; - sk->sk_nid = 0; + vx_sock_inc(sk); + set_nx_info(&sk->sk_nx_info, current->nx_info); + sk->sk_nid = nx_current_nid(); - atomic_set(&sk->sk_refcnt, 1); } diff -NurpP --minimal linux-2.6.11-rc3-vs1.9.4-rc5.base/net/ipv4/af_inet.c linux-2.6.11-rc3-vs1.9.4-rc5/net/ipv4/af_inet.c --- linux-2.6.11-rc3-vs1.9.4-rc5.base/net/ipv4/af_inet.c 2005-02-03 15:26:53 +0100 +++ linux-2.6.11-rc3-vs1.9.4-rc5/net/ipv4/af_inet.c 2005-02-06 22:46:12 +0100 @@ -155,12 +155,6 @@ void inet_sock_destruct(struct sock *sk) if (inet->opt) kfree(inet->opt); - vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - sk->sk_xid = -1; - clr_nx_info(&sk->sk_nx_info); - sk->sk_nid = -1; - dst_release(sk->sk_dst_cache); #ifdef INET_REFCNT_DEBUG atomic_dec(&inet_sock_nr); @@ -327,12 +321,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); - set_nx_info(&sk->sk_nx_info, current->nx_info); - sk->sk_nid = nx_current_nid(); - inet->uc_ttl = -1; inet->mc_loop = 1; inet->mc_ttl = 1; @@ -394,11 +382,6 @@ int inet_release(struct socket *sock) !(current->flags & PF_EXITING)) timeout = sk->sk_lingertime; sock->sk = NULL; - vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - sk->sk_xid = -1; - clr_nx_info(&sk->sk_nx_info); - sk->sk_nid = -1; sk->sk_prot->close(sk, timeout); } return 0; diff -NurpP --minimal linux-2.6.11-rc3-vs1.9.4-rc5.base/net/netlink/af_netlink.c linux-2.6.11-rc3-vs1.9.4-rc5/net/netlink/af_netlink.c --- linux-2.6.11-rc3-vs1.9.4-rc5.base/net/netlink/af_netlink.c 2005-02-03 15:26:53 +0100 +++ linux-2.6.11-rc3-vs1.9.4-rc5/net/netlink/af_netlink.c 2005-02-06 22:46:30 +0100 @@ -359,13 +359,6 @@ static int netlink_create(struct socket spin_lock_init(&nlk->cb_lock); 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); - set_nx_info(&sk->sk_nx_info, current->nx_info); - sk->sk_nid = nx_current_nid(); - sk->sk_protocol = protocol; return 0; } @@ -407,12 +400,6 @@ static int netlink_release(struct socket notifier_call_chain(&netlink_chain, NETLINK_URELEASE, &n); } - vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - sk->sk_xid = -1; - clr_nx_info(&sk->sk_nx_info); - sk->sk_nid = -1; - sock_put(sk); return 0; } diff -NurpP --minimal linux-2.6.11-rc3-vs1.9.4-rc5.base/net/unix/af_unix.c linux-2.6.11-rc3-vs1.9.4-rc5/net/unix/af_unix.c --- linux-2.6.11-rc3-vs1.9.4-rc5.base/net/unix/af_unix.c 2005-02-03 15:26:53 +0100 +++ linux-2.6.11-rc3-vs1.9.4-rc5/net/unix/af_unix.c 2005-02-06 22:46:36 +0100 @@ -397,9 +397,6 @@ static int unix_release_sock (struct soc mntput(mnt); } - vx_sock_dec(sk); - clr_vx_info(&sk->sk_vx_info); - clr_nx_info(&sk->sk_nx_info); sock_put(sk); /* ---- Socket is dead now and most probably destroyed ---- */ @@ -556,11 +553,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); - set_nx_info(&sk->sk_nx_info, current->nx_info); - sk->sk_write_space = unix_write_space; sk->sk_max_ack_backlog = sysctl_unix_max_dgram_qlen; sk->sk_destruct = unix_sock_destructor;