[NET]: Cleanup INET_REFCNT_DEBUG code
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d13964f449
commit
e6848976b7
@@ -114,10 +114,6 @@
|
||||
|
||||
DEFINE_SNMP_STAT(struct linux_mib, net_statistics);
|
||||
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
atomic_t inet_sock_nr;
|
||||
#endif
|
||||
|
||||
extern void ip_mc_drop_socket(struct sock *sk);
|
||||
|
||||
/* The inetsw table contains everything that inet_create needs to
|
||||
@@ -153,11 +149,7 @@ void inet_sock_destruct(struct sock *sk)
|
||||
if (inet->opt)
|
||||
kfree(inet->opt);
|
||||
dst_release(sk->sk_dst_cache);
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
atomic_dec(&inet_sock_nr);
|
||||
printk(KERN_DEBUG "INET socket %p released, %d are still alive\n",
|
||||
sk, atomic_read(&inet_sock_nr));
|
||||
#endif
|
||||
sk_refcnt_debug_dec(sk);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -317,9 +309,7 @@ static int inet_create(struct socket *sock, int protocol)
|
||||
inet->mc_index = 0;
|
||||
inet->mc_list = NULL;
|
||||
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
atomic_inc(&inet_sock_nr);
|
||||
#endif
|
||||
sk_refcnt_debug_inc(sk);
|
||||
|
||||
if (inet->num) {
|
||||
/* It assumes that any protocol which allows
|
||||
@@ -1205,7 +1195,3 @@ EXPORT_SYMBOL(inet_stream_ops);
|
||||
EXPORT_SYMBOL(inet_unregister_protosw);
|
||||
EXPORT_SYMBOL(net_statistics);
|
||||
EXPORT_SYMBOL(sysctl_ip_nonlocal_bind);
|
||||
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
EXPORT_SYMBOL(inet_sock_nr);
|
||||
#endif
|
||||
|
||||
@@ -1580,12 +1580,7 @@ void tcp_destroy_sock(struct sock *sk)
|
||||
|
||||
xfrm_sk_free_policy(sk);
|
||||
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
if (atomic_read(&sk->sk_refcnt) != 1) {
|
||||
printk(KERN_DEBUG "Destruction TCP %p delayed, c=%d\n",
|
||||
sk, atomic_read(&sk->sk_refcnt));
|
||||
}
|
||||
#endif
|
||||
sk_refcnt_debug_release(sk);
|
||||
|
||||
atomic_dec(&tcp_orphan_count);
|
||||
sock_put(sk);
|
||||
|
||||
@@ -84,7 +84,7 @@ static void tcp_timewait_kill(struct tcp_tw_bucket *tw)
|
||||
tcp_bucket_destroy(tb);
|
||||
spin_unlock(&bhead->lock);
|
||||
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
#ifdef SOCK_REFCNT_DEBUG
|
||||
if (atomic_read(&tw->tw_refcnt) != 1) {
|
||||
printk(KERN_DEBUG "tw_bucket %p refcnt=%d\n", tw,
|
||||
atomic_read(&tw->tw_refcnt));
|
||||
@@ -799,9 +799,21 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req,
|
||||
newsk->sk_err = 0;
|
||||
newsk->sk_priority = 0;
|
||||
atomic_set(&newsk->sk_refcnt, 2);
|
||||
#ifdef INET_REFCNT_DEBUG
|
||||
atomic_inc(&inet_sock_nr);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Increment the counter in the same struct proto as the master
|
||||
* sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that
|
||||
* is the same as sk->sk_prot->socks, as this field was copied
|
||||
* with memcpy), same rationale as the first comment in this
|
||||
* function.
|
||||
*
|
||||
* This _changes_ the previous behaviour, where
|
||||
* tcp_create_openreq_child always was incrementing the
|
||||
* equivalent to tcp_prot->socks (inet_sock_nr), so this have
|
||||
* to be taken into account in all callers. -acme
|
||||
*/
|
||||
sk_refcnt_debug_inc(newsk);
|
||||
|
||||
atomic_inc(&tcp_sockets_allocated);
|
||||
|
||||
if (sock_flag(newsk, SOCK_KEEPOPEN))
|
||||
|
||||
Reference in New Issue
Block a user