From 4722686c9cd131424aa5714f2ab4fa53ab3e8b60 Mon Sep 17 00:00:00 2001 From: "Denis V. Lunev" Date: Wed, 16 Apr 2008 02:01:34 -0700 Subject: [PATCH] --- yaml --- r: 90791 b: refs/heads/master c: 48115becf6ad9c0e700ff7c1792b7f2a288ef8fb h: refs/heads/master i: 90789: 1d91665749d11304cf38fa0db3436a711c6ad68e 90787: fe6257202a2cedb4821001f81f34045fd55b7d32 90783: c4d5f595632094311494ff0419b28cf15050d630 v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3842e8333ab8..d195abee1d07 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8c5da49a63c7675a3e137eb384b982e562622342 +refs/heads/master: 48115becf6ad9c0e700ff7c1792b7f2a288ef8fb diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index 6293cb91ed1d..210a079cfc6f 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -2622,7 +2622,7 @@ static int ip6_route_net_init(struct net *net) GFP_KERNEL); if (!net->ipv6.ip6_dst_ops) goto out; - net->ipv6.ip6_dst_ops->dst_net = net; + net->ipv6.ip6_dst_ops->dst_net = hold_net(net); net->ipv6.ip6_null_entry = kmemdup(&ip6_null_entry_template, sizeof(*net->ipv6.ip6_null_entry), @@ -2669,6 +2669,7 @@ static int ip6_route_net_init(struct net *net) return ret; out_ip6_dst_ops: + release_net(net->ipv6.ip6_dst_ops->dst_net); kfree(net->ipv6.ip6_dst_ops); goto out; } @@ -2684,6 +2685,7 @@ static void ip6_route_net_exit(struct net *net) kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); #endif + release_net(net->ipv6.ip6_dst_ops->dst_net); kfree(net->ipv6.ip6_dst_ops); }