Skip to content

Commit

Permalink
netfilter: nf_{log,queue}: fix compilation without CONFIG_PROC_FS
Browse files Browse the repository at this point in the history
This patch fixes the following compilation error:

net/netfilter/nf_log.c:373:38: error: 'struct netns_nf' has no member named 'proc_netfilter'

if procfs is not set.

The netns support for nf_log, nfnetlink_log and nfnetlink_queue_core
requires CONFIG_PROC_FS in the removal path of their respective
/proc interface since net->nf.proc_netfilter is undefined in that
case.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Gao feng <gaofeng@cn.fujitsu.com>
  • Loading branch information
Pablo Neira Ayuso committed May 6, 2013
1 parent efeaa55 commit e778f56
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
5 changes: 4 additions & 1 deletion net/netfilter/nf_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -368,17 +368,20 @@ static int __net_init nf_log_net_init(struct net *net)
return 0;

out_sysctl:
#ifdef CONFIG_PROC_FS
/* 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);

#endif
return ret;
}

static void __net_exit nf_log_net_exit(struct net *net)
{
netfilter_log_sysctl_exit(net);
#ifdef CONFIG_PROC_FS
remove_proc_entry("nf_log", net->nf.proc_netfilter);
#endif
}

static struct pernet_operations nf_log_net_ops = {
Expand Down
2 changes: 2 additions & 0 deletions net/netfilter/nfnetlink_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -1045,7 +1045,9 @@ static int __net_init nfnl_log_net_init(struct net *net)

static void __net_exit nfnl_log_net_exit(struct net *net)
{
#ifdef CONFIG_PROC_FS
remove_proc_entry("nfnetlink_log", net->nf.proc_netfilter);
#endif
}

static struct pernet_operations nfnl_log_net_ops = {
Expand Down
2 changes: 2 additions & 0 deletions net/netfilter/nfnetlink_queue_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1285,7 +1285,9 @@ static int __net_init nfnl_queue_net_init(struct net *net)

static void __net_exit nfnl_queue_net_exit(struct net *net)
{
#ifdef CONFIG_PROC_FS
remove_proc_entry("nfnetlink_queue", net->nf.proc_netfilter);
#endif
}

static struct pernet_operations nfnl_queue_net_ops = {
Expand Down

0 comments on commit e778f56

Please sign in to comment.