Commit fc3893fd authored by Florian Westphal's avatar Florian Westphal Committed by Pablo Neira Ayuso

netfilter: conntrack: remove empty pernet fini stubs

after moving sysctl handling into single place, the init functions
can't fail anymore and some of the fini functions are empty.

Remove them and change return type to void.
This also simplifies error unwinding in conntrack module init path.
Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent cb2833ed
...@@ -58,8 +58,7 @@ static inline void nf_ct_set_acct(struct net *net, bool enable) ...@@ -58,8 +58,7 @@ static inline void nf_ct_set_acct(struct net *net, bool enable)
net->ct.sysctl_acct = enable; net->ct.sysctl_acct = enable;
} }
int nf_conntrack_acct_pernet_init(struct net *net); void nf_conntrack_acct_pernet_init(struct net *net);
void nf_conntrack_acct_pernet_fini(struct net *net);
int nf_conntrack_acct_init(void); int nf_conntrack_acct_init(void);
void nf_conntrack_acct_fini(void); void nf_conntrack_acct_fini(void);
......
...@@ -142,7 +142,7 @@ void nf_ct_expect_event_report(enum ip_conntrack_expect_events event, ...@@ -142,7 +142,7 @@ void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
struct nf_conntrack_expect *exp, struct nf_conntrack_expect *exp,
u32 portid, int report); u32 portid, int report);
int nf_conntrack_ecache_pernet_init(struct net *net); void nf_conntrack_ecache_pernet_init(struct net *net);
void nf_conntrack_ecache_pernet_fini(struct net *net); void nf_conntrack_ecache_pernet_fini(struct net *net);
int nf_conntrack_ecache_init(void); int nf_conntrack_ecache_init(void);
...@@ -182,10 +182,7 @@ static inline void nf_ct_expect_event_report(enum ip_conntrack_expect_events e, ...@@ -182,10 +182,7 @@ static inline void nf_ct_expect_event_report(enum ip_conntrack_expect_events e,
u32 portid, u32 portid,
int report) {} int report) {}
static inline int nf_conntrack_ecache_pernet_init(struct net *net) static inline void nf_conntrack_ecache_pernet_init(struct net *net) {}
{
return 0;
}
static inline void nf_conntrack_ecache_pernet_fini(struct net *net) static inline void nf_conntrack_ecache_pernet_fini(struct net *net)
{ {
......
...@@ -124,8 +124,7 @@ static inline void *nfct_help_data(const struct nf_conn *ct) ...@@ -124,8 +124,7 @@ static inline void *nfct_help_data(const struct nf_conn *ct)
return (void *)help->data; return (void *)help->data;
} }
int nf_conntrack_helper_pernet_init(struct net *net); void nf_conntrack_helper_pernet_init(struct net *net);
void nf_conntrack_helper_pernet_fini(struct net *net);
int nf_conntrack_helper_init(void); int nf_conntrack_helper_init(void);
void nf_conntrack_helper_fini(void); void nf_conntrack_helper_fini(void);
......
...@@ -49,21 +49,12 @@ static inline void nf_ct_set_tstamp(struct net *net, bool enable) ...@@ -49,21 +49,12 @@ static inline void nf_ct_set_tstamp(struct net *net, bool enable)
} }
#ifdef CONFIG_NF_CONNTRACK_TIMESTAMP #ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
int nf_conntrack_tstamp_pernet_init(struct net *net); void nf_conntrack_tstamp_pernet_init(struct net *net);
void nf_conntrack_tstamp_pernet_fini(struct net *net);
int nf_conntrack_tstamp_init(void); int nf_conntrack_tstamp_init(void);
void nf_conntrack_tstamp_fini(void); void nf_conntrack_tstamp_fini(void);
#else #else
static inline int nf_conntrack_tstamp_pernet_init(struct net *net) static inline void nf_conntrack_tstamp_pernet_init(struct net *net) {}
{
return 0;
}
static inline void nf_conntrack_tstamp_pernet_fini(struct net *net)
{
return;
}
static inline int nf_conntrack_tstamp_init(void) static inline int nf_conntrack_tstamp_init(void)
{ {
......
...@@ -31,14 +31,9 @@ static const struct nf_ct_ext_type acct_extend = { ...@@ -31,14 +31,9 @@ static const struct nf_ct_ext_type acct_extend = {
.id = NF_CT_EXT_ACCT, .id = NF_CT_EXT_ACCT,
}; };
int nf_conntrack_acct_pernet_init(struct net *net) void nf_conntrack_acct_pernet_init(struct net *net)
{ {
net->ct.sysctl_acct = nf_ct_acct; net->ct.sysctl_acct = nf_ct_acct;
return 0;
}
void nf_conntrack_acct_pernet_fini(struct net *net)
{
} }
int nf_conntrack_acct_init(void) int nf_conntrack_acct_init(void)
......
...@@ -2110,10 +2110,7 @@ void nf_conntrack_cleanup_net_list(struct list_head *net_exit_list) ...@@ -2110,10 +2110,7 @@ void nf_conntrack_cleanup_net_list(struct list_head *net_exit_list)
list_for_each_entry(net, net_exit_list, exit_list) { list_for_each_entry(net, net_exit_list, exit_list) {
nf_conntrack_proto_pernet_fini(net); nf_conntrack_proto_pernet_fini(net);
nf_conntrack_helper_pernet_fini(net);
nf_conntrack_ecache_pernet_fini(net); nf_conntrack_ecache_pernet_fini(net);
nf_conntrack_tstamp_pernet_fini(net);
nf_conntrack_acct_pernet_fini(net);
nf_conntrack_expect_pernet_fini(net); nf_conntrack_expect_pernet_fini(net);
free_percpu(net->ct.stat); free_percpu(net->ct.stat);
free_percpu(net->ct.pcpu_lists); free_percpu(net->ct.pcpu_lists);
...@@ -2410,32 +2407,19 @@ int nf_conntrack_init_net(struct net *net) ...@@ -2410,32 +2407,19 @@ int nf_conntrack_init_net(struct net *net)
ret = nf_conntrack_expect_pernet_init(net); ret = nf_conntrack_expect_pernet_init(net);
if (ret < 0) if (ret < 0)
goto err_expect; goto err_expect;
ret = nf_conntrack_acct_pernet_init(net);
if (ret < 0) nf_conntrack_acct_pernet_init(net);
goto err_acct; nf_conntrack_tstamp_pernet_init(net);
ret = nf_conntrack_tstamp_pernet_init(net); nf_conntrack_ecache_pernet_init(net);
if (ret < 0) nf_conntrack_helper_pernet_init(net);
goto err_tstamp;
ret = nf_conntrack_ecache_pernet_init(net);
if (ret < 0)
goto err_ecache;
ret = nf_conntrack_helper_pernet_init(net);
if (ret < 0)
goto err_helper;
ret = nf_conntrack_proto_pernet_init(net); ret = nf_conntrack_proto_pernet_init(net);
if (ret < 0) if (ret < 0)
goto err_proto; goto err_proto;
return 0; return 0;
err_proto: err_proto:
nf_conntrack_helper_pernet_fini(net);
err_helper:
nf_conntrack_ecache_pernet_fini(net); nf_conntrack_ecache_pernet_fini(net);
err_ecache:
nf_conntrack_tstamp_pernet_fini(net);
err_tstamp:
nf_conntrack_acct_pernet_fini(net);
err_acct:
nf_conntrack_expect_pernet_fini(net); nf_conntrack_expect_pernet_fini(net);
err_expect: err_expect:
free_percpu(net->ct.stat); free_percpu(net->ct.stat);
......
...@@ -342,11 +342,10 @@ static const struct nf_ct_ext_type event_extend = { ...@@ -342,11 +342,10 @@ static const struct nf_ct_ext_type event_extend = {
.id = NF_CT_EXT_ECACHE, .id = NF_CT_EXT_ECACHE,
}; };
int nf_conntrack_ecache_pernet_init(struct net *net) void nf_conntrack_ecache_pernet_init(struct net *net)
{ {
net->ct.sysctl_events = nf_ct_events; net->ct.sysctl_events = nf_ct_events;
INIT_DELAYED_WORK(&net->ct.ecache_dwork, ecache_work); INIT_DELAYED_WORK(&net->ct.ecache_dwork, ecache_work);
return 0;
} }
void nf_conntrack_ecache_pernet_fini(struct net *net) void nf_conntrack_ecache_pernet_fini(struct net *net)
......
...@@ -472,15 +472,10 @@ static const struct nf_ct_ext_type helper_extend = { ...@@ -472,15 +472,10 @@ static const struct nf_ct_ext_type helper_extend = {
.id = NF_CT_EXT_HELPER, .id = NF_CT_EXT_HELPER,
}; };
int nf_conntrack_helper_pernet_init(struct net *net) void nf_conntrack_helper_pernet_init(struct net *net)
{ {
net->ct.auto_assign_helper_warned = false; net->ct.auto_assign_helper_warned = false;
net->ct.sysctl_auto_assign_helper = nf_ct_auto_assign_helper; net->ct.sysctl_auto_assign_helper = nf_ct_auto_assign_helper;
return 0;
}
void nf_conntrack_helper_pernet_fini(struct net *net)
{
} }
int nf_conntrack_helper_init(void) int nf_conntrack_helper_init(void)
......
...@@ -28,14 +28,9 @@ static const struct nf_ct_ext_type tstamp_extend = { ...@@ -28,14 +28,9 @@ static const struct nf_ct_ext_type tstamp_extend = {
.id = NF_CT_EXT_TSTAMP, .id = NF_CT_EXT_TSTAMP,
}; };
int nf_conntrack_tstamp_pernet_init(struct net *net) void nf_conntrack_tstamp_pernet_init(struct net *net)
{ {
net->ct.sysctl_tstamp = nf_ct_tstamp; net->ct.sysctl_tstamp = nf_ct_tstamp;
return 0;
}
void nf_conntrack_tstamp_pernet_fini(struct net *net)
{
} }
int nf_conntrack_tstamp_init(void) int nf_conntrack_tstamp_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment