net: af_netlink should update its inuse counter
authorEric Dumazet <dada1@cosmosbay.com>
Sun, 23 Nov 2008 23:48:22 +0000 (15:48 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 23 Nov 2008 23:48:22 +0000 (15:48 -0800)
In order to have relevant information for NETLINK protocol, in
/proc/net/protocols, 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>
net/netlink/af_netlink.c

index 480184a857d21abdf72886d795679b64996399b1..a2071dcfe9e8514cf9aad61aa6308bc596c8b176 100644 (file)
@@ -452,6 +452,7 @@ static int netlink_create(struct net *net, struct socket *sock, int protocol)
        if (err < 0)
                goto out_module;
 
+       sock_prot_inuse_add(net, &netlink_proto, 1);
        nlk = nlk_sk(sock->sk);
        nlk->module = module;
 out:
@@ -511,6 +512,7 @@ static int netlink_release(struct socket *sock)
        kfree(nlk->groups);
        nlk->groups = NULL;
 
+       sock_prot_inuse_add(sock_net(sk), &netlink_proto, -1);
        sock_put(sk);
        return 0;
 }