Hi all, On Mon, 8 Jul 2019 13:39:58 +1000 Stephen Rothwell wrote: > > After merging the netfilter-next tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > In file included from : > include/net/netfilter/nft_meta.h:6:21: warning: 'key' is narrower than values of its type > enum nft_meta_keys key:8; > ^~~ > include/net/netfilter/nft_meta.h:6:21: error: field 'key' has incomplete type > include/net/netfilter/nft_meta.h:8:22: warning: 'dreg' is narrower than values of its type > enum nft_registers dreg:8; > ^~~~ > include/net/netfilter/nft_meta.h:8:22: error: field 'dreg' has incomplete type > include/net/netfilter/nft_meta.h:9:22: warning: 'sreg' is narrower than values of its type > enum nft_registers sreg:8; > ^~~~ > include/net/netfilter/nft_meta.h:9:22: error: field 'sreg' has incomplete type > include/net/netfilter/nft_meta.h:13:32: error: array type has incomplete element type 'struct nla_policy' > extern const struct nla_policy nft_meta_policy[]; > ^~~~~~~~~~~~~~~ > include/net/netfilter/nft_meta.h:17:22: warning: 'struct nlattr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nlattr * const tb[]); > ^~~~~~ > include/net/netfilter/nft_meta.h:16:22: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_expr *expr, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:15:36: warning: 'struct nft_ctx' declared inside parameter list will not be visible outside of this definition or declaration > int nft_meta_get_init(const struct nft_ctx *ctx, > ^~~~~~~ > include/net/netfilter/nft_meta.h:21:22: warning: 'struct nlattr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nlattr * const tb[]); > ^~~~~~ > include/net/netfilter/nft_meta.h:20:22: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_expr *expr, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:19:36: warning: 'struct nft_ctx' declared inside parameter list will not be visible outside of this definition or declaration > int nft_meta_set_init(const struct nft_ctx *ctx, > ^~~~~~~ > include/net/netfilter/nft_meta.h:24:22: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_expr *expr); > ^~~~~~~~ > include/net/netfilter/nft_meta.h:23:30: warning: 'struct sk_buff' declared inside parameter list will not be visible outside of this definition or declaration > int nft_meta_get_dump(struct sk_buff *skb, > ^~~~~~~ > include/net/netfilter/nft_meta.h:27:22: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_expr *expr); > ^~~~~~~~ > include/net/netfilter/nft_meta.h:26:30: warning: 'struct sk_buff' declared inside parameter list will not be visible outside of this definition or declaration > int nft_meta_set_dump(struct sk_buff *skb, > ^~~~~~~ > include/net/netfilter/nft_meta.h:31:23: warning: 'struct nft_pktinfo' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_pktinfo *pkt); > ^~~~~~~~~~~ > include/net/netfilter/nft_meta.h:30:17: warning: 'struct nft_regs' declared inside parameter list will not be visible outside of this definition or declaration > struct nft_regs *regs, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:29:37: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > void nft_meta_get_eval(const struct nft_expr *expr, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:35:23: warning: 'struct nft_pktinfo' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_pktinfo *pkt); > ^~~~~~~~~~~ > include/net/netfilter/nft_meta.h:34:17: warning: 'struct nft_regs' declared inside parameter list will not be visible outside of this definition or declaration > struct nft_regs *regs, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:33:37: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > void nft_meta_set_eval(const struct nft_expr *expr, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:38:19: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_expr *expr); > ^~~~~~~~ > include/net/netfilter/nft_meta.h:37:40: warning: 'struct nft_ctx' declared inside parameter list will not be visible outside of this definition or declaration > void nft_meta_set_destroy(const struct nft_ctx *ctx, > ^~~~~~~ > include/net/netfilter/nft_meta.h:42:19: warning: 'struct nft_data' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_data **data); > ^~~~~~~~ > include/net/netfilter/nft_meta.h:41:19: warning: 'struct nft_expr' declared inside parameter list will not be visible outside of this definition or declaration > const struct nft_expr *expr, > ^~~~~~~~ > include/net/netfilter/nft_meta.h:40:40: warning: 'struct nft_ctx' declared inside parameter list will not be visible outside of this definition or declaration > int nft_meta_set_validate(const struct nft_ctx *ctx, > ^~~~~~~ > > Caused by commit > > 30e103fe24de ("netfilter: nft_meta: move bridge meta keys into nft_meta_bridge") > > interacting with commit > > 3a768d9f7ae5 ("kbuild: compile-test kernel headers to ensure they are self-contained") > > from the kbuild tree. > > I have applied the following patch for today. > > From: Stephen Rothwell > Date: Mon, 8 Jul 2019 13:34:42 +1000 > Subject: [PATCH] don't test build another netfilter header > > Signed-off-by: Stephen Rothwell > --- > include/Kbuild | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/Kbuild b/include/Kbuild > index 78434c59701f..cfd73c94d015 100644 > --- a/include/Kbuild > +++ b/include/Kbuild > @@ -900,6 +900,7 @@ header-test- += net/netfilter/nf_tables_core.h > header-test- += net/netfilter/nf_tables_ipv4.h > header-test- += net/netfilter/nf_tables_ipv6.h > header-test- += net/netfilter/nft_fib.h > +header-test- += net/netfilter/nft_meta.h > header-test- += net/netfilter/nft_reject.h > header-test- += net/netns/can.h > header-test- += net/netns/generic.h I reported this yesterday against the netflter-next tree, but now the fix patch is needed in the merge of the net-next tree. -- Cheers, Stephen Rothwell