aboutsummaryrefslogtreecommitdiffstats
path: root/net/packet/af_packet.c
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2008-11-19 14:25:35 -0800
committerDavid S. Miller <davem@davemloft.net>2008-11-19 14:25:35 -0800
commit3680453c8be54fff0d23fdf33e8961a48e1f2cd6 (patch)
treea51fe155df61483cb64255ed3cf58bb52b1daaff /net/packet/af_packet.c
parentMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 (diff)
downloadlinux-dev-3680453c8be54fff0d23fdf33e8961a48e1f2cd6.tar.xz
linux-dev-3680453c8be54fff0d23fdf33e8961a48e1f2cd6.zip
net: af_packet should update its inuse counter
This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for PACKET 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>
Diffstat (limited to 'net/packet/af_packet.c')
-rw-r--r--net/packet/af_packet.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index c718e7e3f7de..b4870a34c435 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -910,6 +910,7 @@ static int packet_release(struct socket *sock)
skb_queue_purge(&sk->sk_receive_queue);
sk_refcnt_debug_release(sk);
+ sock_prot_inuse_add(net, sk->sk_prot, -1);
sock_put(sk);
return 0;
}
@@ -1085,6 +1086,7 @@ static int packet_create(struct net *net, struct socket *sock, int protocol)
write_lock_bh(&net->packet.sklist_lock);
sk_add_node(sk, &net->packet.sklist);
write_unlock_bh(&net->packet.sklist_lock);
+ sock_prot_inuse_add(net, &packet_proto, 1);
return(0);
out:
return err;