netfilter: conntrack: fix boot failure with nf_conntrack.enable_hooks=1
This is a revert of7b1957b049
("netfilter: nf_defrag_ipv4: use net_generic infra") and a partial revert of8b0adbe3e3
("netfilter: nf_defrag_ipv6: use net_generic infra"). If conntrack is builtin and kernel is booted with: nf_conntrack.enable_hooks=1 .... kernel will fail to boot due to a NULL deref in nf_defrag_ipv4_enable(): Its called before the ipv4 defrag initcall is made, so net_generic() returns NULL. To resolve this, move the user refcount back to struct net so calls to those functions are possible even before their initcalls have run. Fixes:7b1957b049
("netfilter: nf_defrag_ipv4: use net_generic infra") Fixes:8b0adbe3e3
("netfilter: nf_defrag_ipv6: use net_generic infra"). Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
committed by
Pablo Neira Ayuso
parent
3b1b6e82fb
commit
339031bafe
@ -27,5 +27,11 @@ struct netns_nf {
|
||||
#if IS_ENABLED(CONFIG_DECNET)
|
||||
struct nf_hook_entries __rcu *hooks_decnet[NF_DN_NUMHOOKS];
|
||||
#endif
|
||||
#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4)
|
||||
unsigned int defrag_ipv4_users;
|
||||
#endif
|
||||
#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
|
||||
unsigned int defrag_ipv6_users;
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user