aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2008-11-19 17:25:35 -0500
committerDavid S. Miller <davem@davemloft.net>2008-11-19 17:25:35 -0500
commit3680453c8be54fff0d23fdf33e8961a48e1f2cd6 (patch)
treea51fe155df61483cb64255ed3cf58bb52b1daaff /net
parent198d6ba4d7f48c94f990f4604f0b3d73925e0ded (diff)
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')
-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)
910 skb_queue_purge(&sk->sk_receive_queue); 910 skb_queue_purge(&sk->sk_receive_queue);
911 sk_refcnt_debug_release(sk); 911 sk_refcnt_debug_release(sk);
912 912
913 sock_prot_inuse_add(net, sk->sk_prot, -1);
913 sock_put(sk); 914 sock_put(sk);
914 return 0; 915 return 0;
915} 916}
@@ -1085,6 +1086,7 @@ static int packet_create(struct net *net, struct socket *sock, int protocol)
1085 write_lock_bh(&net->packet.sklist_lock); 1086 write_lock_bh(&net->packet.sklist_lock);
1086 sk_add_node(sk, &net->packet.sklist); 1087 sk_add_node(sk, &net->packet.sklist);
1087 write_unlock_bh(&net->packet.sklist_lock); 1088 write_unlock_bh(&net->packet.sklist_lock);
1089 sock_prot_inuse_add(net, &packet_proto, 1);
1088 return(0); 1090 return(0);
1089out: 1091out:
1090 return err; 1092 return err;