aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis V. Lunev <den@openvz.org>2008-02-29 14:15:19 -0800
committerDavid S. Miller <davem@davemloft.net>2008-02-29 14:15:19 -0800
commit1d1c8d13c4f7690d382bca5de2f9dc88f22a4aab (patch)
tree5b028db28a605687c30447b73800f6ef0aded570
parent4a80f2788952055a627f2093a0174537d70aec1b (diff)
[ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit.
Functions from __exit section should not be called from ones in __init section. Fix this conflict. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/icmp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index b51f4b0a326..cee77d606fb 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -1198,7 +1198,9 @@ int __net_init icmp_sk_init(struct net *net)
return 0;
fail:
- icmp_sk_exit(net);
+ for_each_possible_cpu(i)
+ sk_release_kernel(net->ipv4.icmp_sk[i]);
+ kfree(net->ipv4.icmp_sk);
return err;
}