diff mbox series

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

Message ID 20190708133958.6a30f5cb@canb.auug.org.au
State Awaiting Upstream
Delegated to: Pablo Neira
Headers show
Series linux-next: build failure after merge of the netfilter-next tree | expand

Commit Message

Stephen Rothwell July 8, 2019, 3:39 a.m. UTC
Hi all,

After merging the netfilter-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from <command-line>:
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 <sfr@canb.auug.org.au>
Date: Mon, 8 Jul 2019 13:34:42 +1000
Subject: [PATCH] don't test build another netfilter header

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/Kbuild | 1 +
 1 file changed, 1 insertion(+)

Comments

Stephen Rothwell July 9, 2019, 3:59 a.m. UTC | #1
Hi all,

On Mon, 8 Jul 2019 13:39:58 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the netfilter-next tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from <command-line>:
> 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 <sfr@canb.auug.org.au>
> Date: Mon, 8 Jul 2019 13:34:42 +1000
> Subject: [PATCH] don't test build another netfilter header
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  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.
diff mbox series

Patch

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