Skip to contentSkip to conversation

net: af_unix should update its inuse counter

PATCH Applied Eric Dumazet 2 participants 2 messages Nov 17, 2008

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net: af_unix should update its inuse counter

This patch is a preparation to namespace conversion of /proc/net/protocols

In order to have relevant information for UNIX protocol, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets.

---
net/unix/af_unix.c | 4 ++++

1 files changed, 4 insertions(+)
net/unix/af_unix.c +4 -0
index a1eb596..36856ca 100644
@@ -361,6 +361,7 @@ static void unix_sock_destructor(struct sock *sk)
 		unix_release_addr(u->addr);
 
 	atomic_dec(&unix_nr_socks);
+	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
 #ifdef UNIX_REFCNT_DEBUG
 	printk(KERN_DEBUG "UNIX %p is destroyed, %d are still alive.\n", sk,
 		atomic_read(&unix_nr_socks));
@@ -612,6 +613,9 @@ static struct sock *unix_create1(struct net *net, struct socket *sock)
 out:
 	if (sk == NULL)
 		atomic_dec(&unix_nr_socks);
+	else
+		sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
+		
 	return sk;
 }
 
maintainer Applied
#1 lore raw

From: Eric Dumazet <[email protected]>
Date: Mon, 17 Nov 2008 11:09:33 +0100

Applied, thanks Eric.

net/unix/af_unix.c static struct sock *unix_create1(struct net *net, struct socket *sock) · line 618

Quoted 3 lines
net/unix/af_unix.c +3 -0
+	else
+		sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
+		

That last line had trailing whitespace, which I fixed up.