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 protected]>
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 <[email protected]>
---
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
Stephen Rothwell <[email protected]> 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.
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 protected]>
> 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.