ipvs: Pass ipvs not net to ip_vs_service_net_cleanup
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 21 Sep 2015 18:01:58 +0000 (13:01 -0500)
committerSimon Horman <horms@verge.net.au>
Thu, 24 Sep 2015 00:34:35 +0000 (09:34 +0900)
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_core.c
net/netfilter/ipvs/ip_vs_ctl.c

index b54a19eaa6309f8e14425069e50ed8001e9e91b1..3c7040a313b58d5857370677c6f48706845b91dd 100644 (file)
@@ -1335,7 +1335,7 @@ void ip_vs_protocol_net_cleanup(struct net *net);
 void ip_vs_control_net_cleanup(struct net *net);
 void ip_vs_estimator_net_cleanup(struct net *net);
 void ip_vs_sync_net_cleanup(struct net *net);
-void ip_vs_service_net_cleanup(struct net *net);
+void ip_vs_service_net_cleanup(struct netns_ipvs *ipvs);
 
 /* IPVS application functions
  * (from ip_vs_app.c)
index c22e0692e22d3455edcc8d0a8021f084a3e3d003..787d561e200b1855796c7151e963662d498f3323 100644 (file)
@@ -2110,13 +2110,15 @@ estimator_fail:
 
 static void __net_exit __ip_vs_cleanup(struct net *net)
 {
-       ip_vs_service_net_cleanup(net); /* ip_vs_flush() with locks */
+       struct netns_ipvs *ipvs = net_ipvs(net);
+
+       ip_vs_service_net_cleanup(ipvs);        /* ip_vs_flush() with locks */
        ip_vs_conn_net_cleanup(net);
        ip_vs_app_net_cleanup(net);
        ip_vs_protocol_net_cleanup(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);
+       IP_VS_DBG(2, "ipvs netns %d released\n", ipvs->gen);
        net->ipvs = NULL;
 }
 
index d9ff59a4bc6e465d7a41fe2552c6ecda950c1548..a281961a1840d7497cbda839cdb5af7c5ef88009 100644 (file)
@@ -1484,9 +1484,8 @@ static int ip_vs_flush(struct netns_ipvs *ipvs, bool cleanup)
  *     Delete service by {netns} in the service table.
  *     Called by __ip_vs_cleanup()
  */
-void ip_vs_service_net_cleanup(struct net *net)
+void ip_vs_service_net_cleanup(struct netns_ipvs *ipvs)
 {
-       struct netns_ipvs *ipvs = net_ipvs(net);
        EnterFunction(2);
        /* Check for "full" addressed entries */
        mutex_lock(&__ip_vs_mutex);