Explorar o código

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>
Eric Dumazet %!s(int64=16) %!d(string=hai) anos
pai
achega
3680453c8b
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      net/packet/af_packet.c

+ 2 - 0
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;