Re: [PATCH 04/13] tracing/brcm: Use the new __vstring() helper

From: Arend Van Spriel
Date: Wed Jul 06 2022 - 05:13:31 EST


On 7/6/2022 4:50 AM, Steven Rostedt wrote:
On Wed, 6 Jul 2022 10:35:50 +0800
kernel test robot <lkp@xxxxxxxxx> wrote:

Hi Steven,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on rostedt-trace/for-next]
[also build test WARNING on wireless-next/main wireless/main linus/master v5.19-rc5 next-20220705]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]



If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

OK, let's look at all the warnings.


In file included from include/trace/define_trace.h:102,
from drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h:133,
from drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:12:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h: In function 'trace_event_get_offsets_brcmf_err':
include/trace/trace_events.h:261:16: warning: function 'trace_event_get_offsets_brcmf_err' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

1. "might be a candidate for 'gnu_printf' format attribute"

261 | struct trace_event_raw_##call __maybe_unused *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h:31:1: note: in expansion of macro 'TRACE_EVENT'
31 | TRACE_EVENT(brcmf_err,
| ^~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h: In function 'trace_event_get_offsets_brcmf_dbg':
include/trace/trace_events.h:261:16: warning: function 'trace_event_get_offsets_brcmf_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

2. "might be a candidate for 'gnu_printf' format attribute"

261 | struct trace_event_raw_##call __maybe_unused *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h:45:1: note: in expansion of macro 'TRACE_EVENT'
45 | TRACE_EVENT(brcmf_dbg,
| ^~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h:133,
from drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:12:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h: In function 'trace_event_raw_event_brcmf_err':
include/trace/trace_events.h:386:16: warning: function 'trace_event_raw_event_brcmf_err' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

3. "might be a candidate for 'gnu_printf' format attribute"

386 | struct trace_event_raw_##call *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h:31:1: note: in expansion of macro 'TRACE_EVENT'
31 | TRACE_EVENT(brcmf_err,
| ^~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h: In function 'trace_event_raw_event_brcmf_dbg':
include/trace/trace_events.h:386:16: warning: function 'trace_event_raw_event_brcmf_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

4. "might be a candidate for 'gnu_printf' format attribute"

386 | struct trace_event_raw_##call *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h:45:1: note: in expansion of macro 'TRACE_EVENT'
45 | TRACE_EVENT(brcmf_dbg,
| ^~~~~~~~~~~
In file included from include/trace/define_trace.h:103,
from drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h:133,
from drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c:12:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h: In function 'perf_trace_brcmf_err':
include/trace/perf.h:64:16: warning: function 'perf_trace_brcmf_err' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

5. "might be a candidate for 'gnu_printf' format attribute"

64 | struct hlist_head *head; \
| ^~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h:31:1: note: in expansion of macro 'TRACE_EVENT'
31 | TRACE_EVENT(brcmf_err,
| ^~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h: In function 'perf_trace_brcmf_dbg':
include/trace/perf.h:64:16: warning: function 'perf_trace_brcmf_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

6. "might be a candidate for 'gnu_printf' format attribute"

64 | struct hlist_head *head; \
| ^~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/./tracepoint.h:45:1: note: in expansion of macro 'TRACE_EVENT'
45 | TRACE_EVENT(brcmf_dbg,
| ^~~~~~~~~~~
--
In file included from include/trace/define_trace.h:102,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h:82,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.h:38,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.c:22:
drivers/net/wireless/broadcom/brcm80211/brcmsmac/./brcms_trace_brcmsmac_msg.h: In function 'trace_event_get_offsets_brcms_dbg':
include/trace/trace_events.h:261:16: warning: function 'trace_event_get_offsets_brcms_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

7. "might be a candidate for 'gnu_printf' format attribute"

261 | struct trace_event_raw_##call __maybe_unused *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmsmac/./brcms_trace_brcmsmac_msg.h:59:1: note: in expansion of macro 'TRACE_EVENT'
59 | TRACE_EVENT(brcms_dbg,
| ^~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h:82,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.h:38,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.c:22:
drivers/net/wireless/broadcom/brcm80211/brcmsmac/./brcms_trace_brcmsmac_msg.h: In function 'trace_event_raw_event_brcms_dbg':
include/trace/trace_events.h:386:16: warning: function 'trace_event_raw_event_brcms_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

8. "might be a candidate for 'gnu_printf' format attribute"


386 | struct trace_event_raw_##call *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmsmac/./brcms_trace_brcmsmac_msg.h:59:1: note: in expansion of macro 'TRACE_EVENT'
59 | TRACE_EVENT(brcms_dbg,
| ^~~~~~~~~~~
In file included from include/trace/define_trace.h:103,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h:82,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.h:38,
from drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.c:22:
drivers/net/wireless/broadcom/brcm80211/brcmsmac/./brcms_trace_brcmsmac_msg.h: In function 'perf_trace_brcms_dbg':
include/trace/perf.h:64:16: warning: function 'perf_trace_brcms_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

9. "might be a candidate for 'gnu_printf' format attribute"

64 | struct hlist_head *head; \
| ^~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmsmac/./brcms_trace_brcmsmac_msg.h:59:1: note: in expansion of macro 'TRACE_EVENT'
59 | TRACE_EVENT(brcms_dbg,
| ^~~~~~~~~~~


vim +261 include/trace/trace_events.h

55de2c0b5610cb include/trace/trace_events.h Masami Hiramatsu 2021-11-22 253
091ad3658e3c76 include/trace/ftrace.h Ingo Molnar 2009-11-26 254 #undef DECLARE_EVENT_CLASS
091ad3658e3c76 include/trace/ftrace.h Ingo Molnar 2009-11-26 255 #define DECLARE_EVENT_CLASS(call, proto, args, tstruct, assign, print) \
d0ee8f4a1f5f3d include/trace/trace_events.h Steven Rostedt (Red Hat 2015-05-13 256) static inline notrace int trace_event_get_offsets_##call( \
62323a148fbeb0 include/trace/trace_events.h Steven Rostedt (Red Hat 2015-05-13 257) struct trace_event_data_offsets_##call *__data_offsets, proto) \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 258 { \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 259 int __data_size = 0; \
114e7b52dee69c include/trace/ftrace.h Filipe Brandenburger 2014-02-28 260 int __maybe_unused __item_length; \
a7237765730a10 include/trace/trace_events.h Steven Rostedt (Red Hat 2015-05-13 @261) struct trace_event_raw_##call __maybe_unused *entry; \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 262 \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 263 tstruct; \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 264 \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 265 return __data_size; \
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 266 }
7fcb7c472f455d include/trace/ftrace.h Li Zefan 2009-06-01 267


Really? 9 warnings about something that *MIGHT* be a candidate for
gnu_printf format attribute? This is a macro that expanded into something
that could possibly use the printf format, but is nested deep in macro
magic.

Can we please shut this up?

Need a vote? Here it is: +1

Regards,
Arend