diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2008-11-17 05:38:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-17 05:38:49 -0500 |
commit | a8076d8db98de6da61394b2e942320e4612643ac (patch) | |
tree | c1c0e52d635197e86b017fe09850a0f6ad261785 /net/unix/af_unix.c | |
parent | 248969ae31e1b3276fc4399d67ce29a5d81e6fd9 (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.c | 4 |
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) | |||
612 | out: | 613 | out: |
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 | ||