Subject: Re: linux-next: build failure after merge of the net-next tree

From: Pablo Neira Ayuso <[email-masked]>
Date: Mon, 12 Apr 2021 15:25:22 +0200

On Mon, Apr 12, 2021 at 03:04:16PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the net-next tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from include/asm-generic/bug.h:20,
>                  from arch/x86/include/asm/bug.h:93,
>                  from include/linux/bug.h:5,
>                  from include/linux/mmdebug.h:5,
>                  from include/linux/gfp.h:5,
>                  from include/linux/umh.h:4,
>                  from include/linux/kmod.h:9,
>                  from net/bridge/netfilter/ebtables.c:14:
> net/bridge/netfilter/ebtables.c: In function '__ebt_find_table':
> net/bridge/netfilter/ebtables.c:1248:33: error: 'struct netns_xt' has no member named 'tables'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |                                 ^
> include/linux/kernel.h:708:26: note: in definition of macro 'container_of'
>   708 |  void *__mptr = (void *)(ptr);     \
>       |                          ^~~
> include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
>   522 |  list_entry((ptr)->next, type, member)
>       |  ^~~~~~~~~~
> include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
>   628 |  for (pos = list_first_entry(head, typeof(*pos), member); \
>       |             ^~~~~~~~~~~~~~~~
> net/bridge/netfilter/ebtables.c:1248:2: note: in expansion of macro 'list_for_each_entry'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |  ^~~~~~~~~~~~~~~~~~~
> In file included from <command-line>:
> net/bridge/netfilter/ebtables.c:1248:33: error: 'struct netns_xt' has no member named 'tables'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |                                 ^
> include/linux/compiler_types.h:300:9: note: in definition of macro '__compiletime_assert'
>   300 |   if (!(condition))     \
>       |         ^~~~~~~~~
> include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
>   320 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>       |  ^~~~~~~~~~~~~~~~~~~
> include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>    39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>       |                                     ^~~~~~~~~~~~~~~~~~
> include/linux/kernel.h:709:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>   709 |  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
>       |  ^~~~~~~~~~~~~~~~
> include/linux/kernel.h:709:20: note: in expansion of macro '__same_type'
>   709 |  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
>       |                    ^~~~~~~~~~~
> include/linux/list.h:511:2: note: in expansion of macro 'container_of'
>   511 |  container_of(ptr, type, member)
>       |  ^~~~~~~~~~~~
> include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
>   522 |  list_entry((ptr)->next, type, member)
>       |  ^~~~~~~~~~
> include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
>   628 |  for (pos = list_first_entry(head, typeof(*pos), member); \
>       |             ^~~~~~~~~~~~~~~~
> net/bridge/netfilter/ebtables.c:1248:2: note: in expansion of macro 'list_for_each_entry'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |  ^~~~~~~~~~~~~~~~~~~
> net/bridge/netfilter/ebtables.c:1248:33: error: 'struct netns_xt' has no member named 'tables'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |                                 ^
> include/linux/compiler_types.h:300:9: note: in definition of macro '__compiletime_assert'
>   300 |   if (!(condition))     \
>       |         ^~~~~~~~~
> include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
>   320 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>       |  ^~~~~~~~~~~~~~~~~~~
> include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>    39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>       |                                     ^~~~~~~~~~~~~~~~~~
> include/linux/kernel.h:709:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>   709 |  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
>       |  ^~~~~~~~~~~~~~~~
> include/linux/kernel.h:710:6: note: in expansion of macro '__same_type'
>   710 |     !__same_type(*(ptr), void),   \
>       |      ^~~~~~~~~~~
> include/linux/list.h:511:2: note: in expansion of macro 'container_of'
>   511 |  container_of(ptr, type, member)
>       |  ^~~~~~~~~~~~
> include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
>   522 |  list_entry((ptr)->next, type, member)
>       |  ^~~~~~~~~~
> include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
>   628 |  for (pos = list_first_entry(head, typeof(*pos), member); \
>       |             ^~~~~~~~~~~~~~~~
> net/bridge/netfilter/ebtables.c:1248:2: note: in expansion of macro 'list_for_each_entry'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |  ^~~~~~~~~~~~~~~~~~~
> In file included from include/linux/preempt.h:11,
>                  from include/linux/spinlock.h:51,
>                  from include/linux/mmzone.h:8,
>                  from include/linux/gfp.h:6,
>                  from include/linux/umh.h:4,
>                  from include/linux/kmod.h:9,
>                  from net/bridge/netfilter/ebtables.c:14:
> net/bridge/netfilter/ebtables.c:1248:33: error: 'struct netns_xt' has no member named 'tables'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |                                 ^
> include/linux/list.h:619:20: note: in definition of macro 'list_entry_is_head'
>   619 |  (&pos->member == (head))
>       |                    ^~~~
> net/bridge/netfilter/ebtables.c:1248:2: note: in expansion of macro 'list_for_each_entry'
>  1248 |  list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
>       |  ^~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   5b53951cfc85 ("netfilter: ebtables: use net_generic infra")
> 
> interacting with commit
> 
>   7ee3c61dcd28 ("netfilter: bridge: add pre_exit hooks for ebtable unregistration")
> 
> from the netfilter tree.
> 
> I have applied the following merge fix patch for today:
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Mon, 12 Apr 2021 14:58:20 +1000
> Subject: [PATCH] merger fix for "netfilter: bridge: add pre_exit hooks for
>  ebtable unregistration"

Thanks.

I'll include this merge conflict in my next pull request.