Patchwork net: af_netlink should update its inuse counter

login
register
mail settings
Submitter Eric Dumazet
Date Nov. 22, 2008, 8:40 a.m.
Message ID <4927C56A.5080307@cosmosbay.com>
Download mbox | patch
Permalink /patch/10208/
State Accepted
Delegated to: David Miller
Headers show

Comments

Eric Dumazet - Nov. 22, 2008, 8:40 a.m.
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>
David Miller - Nov. 23, 2008, 11:48 p.m.
From: Eric Dumazet <dada1@cosmosbay.com>
Date: Sat, 22 Nov 2008 09:40:10 +0100

> 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>

Applied to net-next-2.6, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 480184a..a2071dc 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -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;
 }