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

Subsystems: ethernet bridge, networking [general], the rest

3 messages, 3 authors, 2021-04-12 · open the first message on its own page

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

From: Stephen Rothwell <hidden>
Date: 2021-04-12 05:04:28

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 <redacted>
Date: Mon, 12 Apr 2021 14:58:20 +1000
Subject: [PATCH] merger fix for "netfilter: bridge: add pre_exit hooks for
 ebtable unregistration"

Signed-off-by: Stephen Rothwell <redacted>
---
 net/bridge/netfilter/ebtables.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
index bbc46149bbb2..96d789c8d1c7 100644
--- a/net/bridge/netfilter/ebtables.c
+++ b/net/bridge/netfilter/ebtables.c
@@ -1241,11 +1241,12 @@ int ebt_register_table(struct net *net, const struct ebt_table *input_table,
 
 static struct ebt_table *__ebt_find_table(struct net *net, const char *name)
 {
+	struct ebt_pernet *ebt_net = net_generic(net, ebt_pernet_id);
 	struct ebt_table *t;
 
 	mutex_lock(&ebt_mutex);
 
-	list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) {
+	list_for_each_entry(t, &ebt_net->tables, list) {
 		if (strcmp(t->name, name) == 0) {
 			mutex_unlock(&ebt_mutex);
 			return t;
-- 
2.30.2

-- 
Cheers,
Stephen Rothwell

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

From: Florian Westphal <fw@strlen.de>
Date: 2021-04-12 09:31:14

Stephen Rothwell [off-list ref] wrote:
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")
Right, the fixup is correct.

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

From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: 2021-04-12 13:25:34

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 <redacted>
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help