ipvs: Pass ipvs not net into ip_vs_app_net_init and ip_vs_app_net_cleanup
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 21 Sep 2015 18:02:34 +0000 (13:02 -0500)
committerSimon Horman <horms@verge.net.au>
Thu, 24 Sep 2015 00:34:40 +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_app.c
net/netfilter/ipvs/ip_vs_core.c

index 5caafed5af2e22bd292cf5c3ed509bad96e3ce29..728a670d69fd027e7b7d5c91228b695241e4ab60 100644 (file)
@@ -1326,11 +1326,11 @@ ip_vs_control_add(struct ip_vs_conn *cp, struct ip_vs_conn *ctl_cp)
 int ip_vs_estimator_net_init(struct netns_ipvs *ipvs);
 int ip_vs_control_net_init(struct netns_ipvs *ipvs);
 int ip_vs_protocol_net_init(struct net *net);
-int ip_vs_app_net_init(struct net *net);
+int ip_vs_app_net_init(struct netns_ipvs *ipvs);
 int ip_vs_conn_net_init(struct net *net);
 int ip_vs_sync_net_init(struct netns_ipvs *ipvs);
 void ip_vs_conn_net_cleanup(struct net *net);
-void ip_vs_app_net_cleanup(struct net *net);
+void ip_vs_app_net_cleanup(struct netns_ipvs *ipvs);
 void ip_vs_protocol_net_cleanup(struct net *net);
 void ip_vs_control_net_cleanup(struct netns_ipvs *ipvs);
 void ip_vs_estimator_net_cleanup(struct netns_ipvs *ipvs);
index 42220a0efda26fa0b0b233b97b9caf7e045fd248..0328f725069332d0c84bbb3108192a2a28beeb2a 100644 (file)
@@ -603,18 +603,18 @@ static const struct file_operations ip_vs_app_fops = {
 };
 #endif
 
-int __net_init ip_vs_app_net_init(struct net *net)
+int __net_init ip_vs_app_net_init(struct netns_ipvs *ipvs)
 {
-       struct netns_ipvs *ipvs = net_ipvs(net);
+       struct net *net = ipvs->net;
 
        INIT_LIST_HEAD(&ipvs->app_list);
        proc_create("ip_vs_app", 0, net->proc_net, &ip_vs_app_fops);
        return 0;
 }
 
-void __net_exit ip_vs_app_net_cleanup(struct net *net)
+void __net_exit ip_vs_app_net_cleanup(struct netns_ipvs *ipvs)
 {
-       struct netns_ipvs *ipvs = net_ipvs(net);
+       struct net *net = ipvs->net;
 
        unregister_ip_vs_app(ipvs, NULL /* all */);
        remove_proc_entry("ip_vs_app", net->proc_net);
index ec6f022fba6ad69c651fe441e59c2f6739986d91..01398eb757fa0ff7ec0a37ec573141f56f34f657 100644 (file)
@@ -2081,7 +2081,7 @@ static int __net_init __ip_vs_init(struct net *net)
        if (ip_vs_protocol_net_init(net) < 0)
                goto protocol_fail;
 
-       if (ip_vs_app_net_init(net) < 0)
+       if (ip_vs_app_net_init(ipvs) < 0)
                goto app_fail;
 
        if (ip_vs_conn_net_init(net) < 0)
@@ -2100,7 +2100,7 @@ static int __net_init __ip_vs_init(struct net *net)
 sync_fail:
        ip_vs_conn_net_cleanup(net);
 conn_fail:
-       ip_vs_app_net_cleanup(net);
+       ip_vs_app_net_cleanup(ipvs);
 app_fail:
        ip_vs_protocol_net_cleanup(net);
 protocol_fail:
@@ -2118,7 +2118,7 @@ static void __net_exit __ip_vs_cleanup(struct net *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_app_net_cleanup(ipvs);
        ip_vs_protocol_net_cleanup(net);
        ip_vs_control_net_cleanup(ipvs);
        ip_vs_estimator_net_cleanup(ipvs);