# Re: net-next tree broken with CONFIG\_NETFILTER\_INGRESS=n

- From: Marcel Holtmann \<marcel@holtmann.org\>
- Date: 2016-10-05 07:48:44 
- List: netdev
- Page: https://ratatoskr.run/netdev/2016/10/11031178
- Thread: https://ratatoskr.run/netdev/2016/09/11030888/t.md

```text
Hi Dave,

> the net-next tree is broken since a few days now when CONFIG_NETFILTER_INGRESS=n is set.
> 
>  CC      net/netfilter/core.o
> In file included from ./include/linux/linkage.h:4:0,
>                 from ./include/linux/kernel.h:6,
>                 from net/netfilter/core.c:10:
> net/netfilter/core.c: In function ‘nf_set_hooks_head’:
> net/netfilter/core.c:96:30: error: ‘struct net_device’ has no member named ‘nf_hooks_ingress’
>   rcu_assign_pointer(reg->dev->nf_hooks_ingress, entry);
>                              ^
> ./include/linux/compiler.h:299:17: note: in definition of macro ‘WRITE_ONCE’
>  union { typeof(x) __val; char __c[1]; } __u = \

I really wonder what is going on here. Normally if you break the build, you fix it. However it seems nobody really cares enough. If I am not mistaken, then this patch broke it:

commit e3b37f11e6e4e6b6f02cc762f182ce233d2c1c9d
Author: Aaron Conole [ref]
Date:   Wed Sep 21 11:35:07 2016 -0400

    netfilter: replace list_head with single linked list
    
    The netfilter hook list never uses the prev pointer, and so can be trimmed to
    be a simple singly-linked list.

It is funny that it would have been obvious to test CONFIG_NETFILTER_INGRESS=n since there is an ifdef right in the first hunk of the patch.

        struct netdev_queue __rcu *ingress_queue;
 #ifdef CONFIG_NETFILTER_INGRESS
-       struct list_head        nf_hooks_ingress;
+       struct nf_hook_entry __rcu *nf_hooks_ingress;
 #endif

Regards

Marcel
```
