aboutsummaryrefslogtreecommitdiffstats
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2008-11-17 05:38:49 -0500
committerDavid S. Miller <davem@davemloft.net>2008-11-17 05:38:49 -0500
commita8076d8db98de6da61394b2e942320e4612643ac (patch)
treec1c0e52d635197e86b017fe09850a0f6ad261785 /net/unix/af_unix.c
parent248969ae31e1b3276fc4399d67ce29a5d81e6fd9 (diff)
net: af_unix should update its inuse counter
This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for UNIX protocol, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix/af_unix.c')
-rw-r--r--net/unix/af_unix.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index a1eb5969712c..f2cf3f583f62 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -361,6 +361,7 @@ static void unix_sock_destructor(struct sock *sk)
361 unix_release_addr(u->addr); 361 unix_release_addr(u->addr);
362 362
363 atomic_dec(&unix_nr_socks); 363 atomic_dec(&unix_nr_socks);
364 sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
364#ifdef UNIX_REFCNT_DEBUG 365#ifdef UNIX_REFCNT_DEBUG
365 printk(KERN_DEBUG "UNIX %p is destroyed, %d are still alive.\n", sk, 366 printk(KERN_DEBUG "UNIX %p is destroyed, %d are still alive.\n", sk,
366 atomic_read(&unix_nr_socks)); 367 atomic_read(&unix_nr_socks));
@@ -612,6 +613,9 @@ static struct sock *unix_create1(struct net *net, struct socket *sock)
612out: 613out:
613 if (sk == NULL) 614 if (sk == NULL)
614 atomic_dec(&unix_nr_socks); 615 atomic_dec(&unix_nr_socks);
616 else
617 sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
618
615 return sk; 619 return sk;
616} 620}
617 621