Loading include/linux/netfilter.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,7 @@ static inline void nf_inet_addr_mask(const union nf_inet_addr *a1, result->all[3] = a1->all[3] & mask->all[3]; result->all[3] = a1->all[3] & mask->all[3]; } } extern void netfilter_init(void); extern int netfilter_init(void); /* Largest hook number + 1 */ /* Largest hook number + 1 */ #define NF_MAX_HOOKS 8 #define NF_MAX_HOOKS 8 Loading net/netfilter/core.c +15 −6 Original line number Original line Diff line number Diff line Loading @@ -302,17 +302,26 @@ static struct pernet_operations netfilter_net_ops = { .exit = netfilter_net_exit, .exit = netfilter_net_exit, }; }; void __init netfilter_init(void) int __init netfilter_init(void) { { int i, h; int i, h, ret; for (i = 0; i < ARRAY_SIZE(nf_hooks); i++) { for (i = 0; i < ARRAY_SIZE(nf_hooks); i++) { for (h = 0; h < NF_MAX_HOOKS; h++) for (h = 0; h < NF_MAX_HOOKS; h++) INIT_LIST_HEAD(&nf_hooks[i][h]); INIT_LIST_HEAD(&nf_hooks[i][h]); } } if (register_pernet_subsys(&netfilter_net_ops) < 0) ret = register_pernet_subsys(&netfilter_net_ops); panic("cannot create netfilter proc entry"); if (ret < 0) goto err; ret = netfilter_log_init(); if (ret < 0) goto err_pernet; if (netfilter_log_init() < 0) return 0; panic("cannot initialize nf_log"); err_pernet: unregister_pernet_subsys(&netfilter_net_ops); err: return ret; } } net/netfilter/nf_log.c +1 −4 Original line number Original line Diff line number Diff line Loading @@ -368,10 +368,7 @@ static int __net_init nf_log_net_init(struct net *net) return 0; return 0; out_sysctl: out_sysctl: /* For init_net: errors will trigger panic, don't unroll on error. */ if (!net_eq(net, &init_net)) remove_proc_entry("nf_log", net->nf.proc_netfilter); remove_proc_entry("nf_log", net->nf.proc_netfilter); return ret; return ret; } } Loading net/socket.c +3 −1 Original line number Original line Diff line number Diff line Loading @@ -2612,7 +2612,9 @@ static int __init sock_init(void) */ */ #ifdef CONFIG_NETFILTER #ifdef CONFIG_NETFILTER netfilter_init(); err = netfilter_init(); if (err) goto out; #endif #endif #ifdef CONFIG_NETWORK_PHY_TIMESTAMPING #ifdef CONFIG_NETWORK_PHY_TIMESTAMPING Loading Loading
include/linux/netfilter.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,7 @@ static inline void nf_inet_addr_mask(const union nf_inet_addr *a1, result->all[3] = a1->all[3] & mask->all[3]; result->all[3] = a1->all[3] & mask->all[3]; } } extern void netfilter_init(void); extern int netfilter_init(void); /* Largest hook number + 1 */ /* Largest hook number + 1 */ #define NF_MAX_HOOKS 8 #define NF_MAX_HOOKS 8 Loading
net/netfilter/core.c +15 −6 Original line number Original line Diff line number Diff line Loading @@ -302,17 +302,26 @@ static struct pernet_operations netfilter_net_ops = { .exit = netfilter_net_exit, .exit = netfilter_net_exit, }; }; void __init netfilter_init(void) int __init netfilter_init(void) { { int i, h; int i, h, ret; for (i = 0; i < ARRAY_SIZE(nf_hooks); i++) { for (i = 0; i < ARRAY_SIZE(nf_hooks); i++) { for (h = 0; h < NF_MAX_HOOKS; h++) for (h = 0; h < NF_MAX_HOOKS; h++) INIT_LIST_HEAD(&nf_hooks[i][h]); INIT_LIST_HEAD(&nf_hooks[i][h]); } } if (register_pernet_subsys(&netfilter_net_ops) < 0) ret = register_pernet_subsys(&netfilter_net_ops); panic("cannot create netfilter proc entry"); if (ret < 0) goto err; ret = netfilter_log_init(); if (ret < 0) goto err_pernet; if (netfilter_log_init() < 0) return 0; panic("cannot initialize nf_log"); err_pernet: unregister_pernet_subsys(&netfilter_net_ops); err: return ret; } }
net/netfilter/nf_log.c +1 −4 Original line number Original line Diff line number Diff line Loading @@ -368,10 +368,7 @@ static int __net_init nf_log_net_init(struct net *net) return 0; return 0; out_sysctl: out_sysctl: /* For init_net: errors will trigger panic, don't unroll on error. */ if (!net_eq(net, &init_net)) remove_proc_entry("nf_log", net->nf.proc_netfilter); remove_proc_entry("nf_log", net->nf.proc_netfilter); return ret; return ret; } } Loading
net/socket.c +3 −1 Original line number Original line Diff line number Diff line Loading @@ -2612,7 +2612,9 @@ static int __init sock_init(void) */ */ #ifdef CONFIG_NETFILTER #ifdef CONFIG_NETFILTER netfilter_init(); err = netfilter_init(); if (err) goto out; #endif #endif #ifdef CONFIG_NETWORK_PHY_TIMESTAMPING #ifdef CONFIG_NETWORK_PHY_TIMESTAMPING Loading