Преглед изворни кода

[NETNS]: Add netns refcnt debug for inet bind buckets.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Denis V. Lunev пре 17 година
родитељ
комит
8c5da49a63
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      net/ipv4/inet_hashtables.c

+ 2 - 1
net/ipv4/inet_hashtables.c

@@ -35,7 +35,7 @@ struct inet_bind_bucket *inet_bind_bucket_create(struct kmem_cache *cachep,
 	struct inet_bind_bucket *tb = kmem_cache_alloc(cachep, GFP_ATOMIC);
 	struct inet_bind_bucket *tb = kmem_cache_alloc(cachep, GFP_ATOMIC);
 
 
 	if (tb != NULL) {
 	if (tb != NULL) {
-		tb->ib_net       = net;
+		tb->ib_net       = hold_net(net);
 		tb->port      = snum;
 		tb->port      = snum;
 		tb->fastreuse = 0;
 		tb->fastreuse = 0;
 		INIT_HLIST_HEAD(&tb->owners);
 		INIT_HLIST_HEAD(&tb->owners);
@@ -51,6 +51,7 @@ void inet_bind_bucket_destroy(struct kmem_cache *cachep, struct inet_bind_bucket
 {
 {
 	if (hlist_empty(&tb->owners)) {
 	if (hlist_empty(&tb->owners)) {
 		__hlist_del(&tb->node);
 		__hlist_del(&tb->node);
+		release_net(tb->ib_net);
 		kmem_cache_free(cachep, tb);
 		kmem_cache_free(cachep, tb);
 	}
 	}
 }
 }