Re: [PATCH] trace/xdp: fix compile warning: âstruct bpf_mapâ declared inside parameter list

From: Jesper Dangaard Brouer
Date: Wed Nov 29 2017 - 04:15:46 EST


On Wed, 29 Nov 2017 16:35:01 +0800
Xie XiuQi <xiexiuqi@xxxxxxxxxx> wrote:

> We meet this compile warning, which caused by missing bpf.h in xdp.h.
>
> In file included from ./include/trace/events/xdp.h:10:0,
> from ./include/linux/bpf_trace.h:6,
> from drivers/net/ethernet/intel/i40e/i40e_txrx.c:29:
> ./include/trace/events/xdp.h:93:17: warning: âstruct bpf_mapâ declared inside parameter list will not be visible outside of this definition or declaration
> const struct bpf_map *map, u32 map_index),
> ^
> ./include/linux/tracepoint.h:187:34: note: in definition of macro â__DECLARE_TRACEâ
> static inline void trace_##name(proto) \
> ^~~~~
> ./include/linux/tracepoint.h:352:24: note: in expansion of macro âPARAMSâ
> __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> ^~~~~~
> ./include/linux/tracepoint.h:477:2: note: in expansion of macro âDECLARE_TRACEâ
> DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
> ^~~~~~~~~~~~~
> ./include/linux/tracepoint.h:477:22: note: in expansion of macro âPARAMSâ
> DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
> ^~~~~~
> ./include/trace/events/xdp.h:89:1: note: in expansion of macro âDEFINE_EVENTâ
> DEFINE_EVENT(xdp_redirect_template, xdp_redirect,
> ^~~~~~~~~~~~
> ./include/trace/events/xdp.h:90:2: note: in expansion of macro âTP_PROTOâ
> TP_PROTO(const struct net_device *dev,
> ^~~~~~~~
> ./include/trace/events/xdp.h:93:17: warning: âstruct bpf_mapâ declared inside parameter list will not be visible outside of this definition or declaration
> const struct bpf_map *map, u32 map_index),
> ^
> ./include/linux/tracepoint.h:203:38: note: in definition of macro â__DECLARE_TRACEâ
> register_trace_##name(void (*probe)(data_proto), void *data) \
> ^~~~~~~~~~
> ./include/linux/tracepoint.h:354:4: note: in expansion of macro âPARAMSâ
> PARAMS(void *__data, proto), \
> ^~~~~~
>
> Reported-by: Huang Daode <huangdaode@xxxxxxxxxxxxx>
> Cc: Hanjun Guo <guohanjun@xxxxxxxxxx>
> Signed-off-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx>
> ---
> include/trace/events/xdp.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/trace/events/xdp.h b/include/trace/events/xdp.h
> index 4cd0f05..8989a92 100644
> --- a/include/trace/events/xdp.h
> +++ b/include/trace/events/xdp.h
> @@ -8,6 +8,7 @@
> #include <linux/netdevice.h>
> #include <linux/filter.h>
> #include <linux/tracepoint.h>
> +#include <linux/bpf.h>
>
> #define __XDP_ACT_MAP(FN) \
> FN(ABORTED) \

Strange that I'm not see this compile issue, and kbuild-bot also didn't
report it, but the patch looks okay to me... I guess I introduced the
issue in below "fixes" commit. Can the person applying this include
the fixes line?

Fixes: 8d3b778ff544 ("xdp: tracepoint xdp_redirect also need a map argument")

Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>

--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer