summaryrefslogtreecommitdiff
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
parent198d6ba4d7f48c94f990f4604f0b3d73925e0ded (diff)
downloadlinux-3.10-3680453c8be54fff0d23fdf33e8961a48e1f2cd6.tar.gz
linux-3.10-3680453c8be54fff0d23fdf33e8961a48e1f2cd6.tar.bz2
linux-3.10-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>
-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 c718e7e3f7d..b4870a34c43 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;