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

From: Daniel Borkmann
Date: Wed Nov 29 2017 - 06:14:09 EST


On 11/29/2017 10:15 AM, Jesper Dangaard Brouer wrote:
> 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?

Xie, thanks for the patch! We could route this fix via bpf tree if you want.

Could you resend your patch with below Fixes and Acked-by tag added to
netdev@xxxxxxxxxxxxxxx in Cc, so that it ends up in patchwork there?

> Fixes: 8d3b778ff544 ("xdp: tracepoint xdp_redirect also need a map argument")
>
> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>
Thanks,
Daniel