diff options
author | Julian Anastasov <ja@ssi.bg> | 2012-04-24 23:29:58 +0200 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2012-04-26 08:26:35 +0200 |
commit | 39f618b4fd95ae243d940ec64c961009c74e3333 (patch) | |
tree | f96ef28f9d3ff364da1710f32ff44c31873fb714 /net | |
parent | ipvs: add check in ftp for initialized core (diff) | |
download | linux-39f618b4fd95ae243d940ec64c961009c74e3333.tar.xz linux-39f618b4fd95ae243d940ec64c961009c74e3333.zip |
ipvs: reset ipvs pointer in netns
Make sure net->ipvs is reset on netns cleanup or failed
initialization. It is needed for IPVS applications to know that
IPVS core is not loaded in netns.
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Hans Schillstrom <hans.schillstrom@ericsson.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/ipvs/ip_vs_core.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c index 2555816e7788..260b9ef88775 100644 --- a/net/netfilter/ipvs/ip_vs_core.c +++ b/net/netfilter/ipvs/ip_vs_core.c @@ -1924,6 +1924,7 @@ protocol_fail: control_fail: ip_vs_estimator_net_cleanup(net); estimator_fail: + net->ipvs = NULL; return -ENOMEM; } @@ -1936,6 +1937,7 @@ static void __net_exit __ip_vs_cleanup(struct net *net) ip_vs_control_net_cleanup(net); ip_vs_estimator_net_cleanup(net); IP_VS_DBG(2, "ipvs netns %d released\n", net_ipvs(net)->gen); + net->ipvs = NULL; } static void __net_exit __ip_vs_dev_cleanup(struct net *net) |