[ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit.
authorDenis V. Lunev <den@openvz.org>
Fri, 29 Feb 2008 22:15:19 +0000 (14:15 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Feb 2008 22:15:19 +0000 (14:15 -0800)
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>
net/ipv4/icmp.c

index b51f4b0a32641da408a3785c2cb38344b1b0521f..cee77d606fbe54bf357bd8e909a2e4280a9607d0 100644 (file)
@@ -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;
 }