2022-01-03 13:43:05

by Abdul Haleem

[permalink] [raw]
Subject: [5.16.0-rc7] net-next build broken on powerpc

Greeting's

Today's netdev/net-next kernel 5.16.0-rc7 failed to build on my powerpc box with below error

  CC [M]  drivers/net/ethernet/mellanox/mlx5/core/en_main.o
In file included from ./arch/powerpc/include/generated/asm/rwonce.h:1,
                 from ./include/linux/compiler.h:266,
                 from ./arch/powerpc/include/asm/cmpxchg.h:6,
                 from ./arch/powerpc/include/asm/atomic.h:11,
                 from ./include/linux/atomic.h:7,
                 from ./include/linux/refcount.h:95,
                 from ./include/net/act_api.h:9,
                 from ./include/net/tc_act/tc_gact.h:5,
                 from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:33:
drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function ‘mlx5e_alloc_rq’:
./include/linux/rcupdate.h:412:36: error: dereferencing pointer to incomplete type ‘struct bpf_prog’
 #define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
                                    ^~~~
./include/asm-generic/rwonce.h:55:33: note: in definition of macro ‘__WRITE_ONCE’
  *(volatile typeof(x) *)&(x) = (val);    \
                                 ^~~
./include/linux/rcupdate.h:854:3: note: in expansion of macro ‘WRITE_ONCE’
   WRITE_ONCE(p, RCU_INITIALIZER(v)); \
   ^~~~~~~~~~
./include/linux/rcupdate.h:854:17: note: in expansion of macro ‘RCU_INITIALIZER’
   WRITE_ONCE(p, RCU_INITIALIZER(v)); \
                 ^~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:569:2: note: in expansion of macro ‘RCU_INIT_POINTER’
  RCU_INIT_POINTER(rq->xdp_prog, params->xdp_prog);
  ^~~~~~~~~~~~~~~~
make[5]: *** [scripts/Makefile.build:287: drivers/net/ethernet/mellanox/mlx5/core/en_main.o] Error 1

--
Regard's

Abdul Haleem
IBM Linux Technology Center


Attachments:
ZZ-VM-config.txt (143.70 kB)

2022-01-04 03:33:53

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [5.16.0-rc7] net-next build broken on powerpc

On Mon, 3 Jan 2022 19:10:01 +0530 Abdul Haleem wrote:
> Greeting's
>
> Today's netdev/net-next kernel 5.16.0-rc7 failed to build on my powerpc box with below error
>
>   CC [M]  drivers/net/ethernet/mellanox/mlx5/core/en_main.o
> In file included from ./arch/powerpc/include/generated/asm/rwonce.h:1,
>                  from ./include/linux/compiler.h:266,
>                  from ./arch/powerpc/include/asm/cmpxchg.h:6,
>                  from ./arch/powerpc/include/asm/atomic.h:11,
>                  from ./include/linux/atomic.h:7,
>                  from ./include/linux/refcount.h:95,
>                  from ./include/net/act_api.h:9,
>                  from ./include/net/tc_act/tc_gact.h:5,
>                  from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:33:
> drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function ‘mlx5e_alloc_rq’:
> ./include/linux/rcupdate.h:412:36: error: dereferencing pointer to incomplete type ‘struct bpf_prog’
>  #define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
>                                     ^~~~
> ./include/asm-generic/rwonce.h:55:33: note: in definition of macro ‘__WRITE_ONCE’
>   *(volatile typeof(x) *)&(x) = (val);    \
>                                  ^~~
> ./include/linux/rcupdate.h:854:3: note: in expansion of macro ‘WRITE_ONCE’
>    WRITE_ONCE(p, RCU_INITIALIZER(v)); \
>    ^~~~~~~~~~
> ./include/linux/rcupdate.h:854:17: note: in expansion of macro ‘RCU_INITIALIZER’
>    WRITE_ONCE(p, RCU_INITIALIZER(v)); \
>                  ^~~~~~~~~~~~~~~
> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:569:2: note: in expansion of macro ‘RCU_INIT_POINTER’
>   RCU_INIT_POINTER(rq->xdp_prog, params->xdp_prog);
>   ^~~~~~~~~~~~~~~~
> make[5]: *** [scripts/Makefile.build:287: drivers/net/ethernet/mellanox/mlx5/core/en_main.o] Error 1
>

I can repro a powerpc build failure with ice, but I don't see anything
wrong in mlx5 in an allmodconfig. The config you attached is invalid:

.config:709:warning: symbol value 'm' invalid for HOTPLUG_PCI_SHPC
.config:892:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE
.config:919:warning: symbol value 'm' invalid for NF_NAT_REDIRECT
.config:922:warning: symbol value 'm' invalid for NF_TABLES_INET
.config:1099:warning: symbol value 'm' invalid for NF_TABLES_IPV4
.config:1104:warning: symbol value 'm' invalid for NF_TABLES_ARP
.config:1146:warning: symbol value 'm' invalid for NF_TABLES_IPV6
.config:1537:warning: symbol value 'm' invalid for NET_DEVLINK
.config:2721:warning: symbol value 'm' invalid for ISDN_CAPI
.config:3066:warning: symbol value 'm' invalid for HW_RANDOM_TPM
.config:3589:warning: symbol value 'm' invalid for LIRC
.config:5356:warning: symbol value 'm' invalid for FS_ENCRYPTION

I'll send a fix based on your error messages, it does look like
en_main.c should include filter.h.