diff mbox series

[08/13] USB: mtu3: tracing: Use the new __vstring() helper

Message ID 20220705224750.354926535@goodmis.org
State Superseded
Headers show
Series None | expand

Commit Message

Steven Rostedt July 5, 2022, 10:45 p.m. UTC
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

Instead of open coding a __dynamic_array() with a fixed length (which
defeats the purpose of the dynamic array in the first place). Use the new
__vstring() helper that will use a va_list and only write enough of the
string into the ring buffer that is needed.

Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 drivers/usb/mtu3/mtu3_trace.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

kernel test robot July 6, 2022, 4:30 a.m. UTC | #1
Hi Steven,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on rostedt-trace/for-next]
[also build test ERROR on wireless-next/main]
[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]

url:    https://github.com/intel-lab-lkp/linux/commits/Steven-Rostedt/tracing-events-Add-__vstring-and-__assign_vstr-helpers/20220706-065125
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git for-next
config: arm64-randconfig-r005-20220703
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project f553287b588916de09c66e3e32bf75e5060f967f)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/intel-lab-lkp/linux/commit/829b320ff9db68465d88e10181df019fffb775db
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Steven-Rostedt/tracing-events-Add-__vstring-and-__assign_vstr-helpers/20220706-065125
        git checkout 829b320ff9db68465d88e10181df019fffb775db
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/usb/

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

All errors (new ones prefixed by >>):

   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:94:
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: type name requires a specifier or qualifier
                   __vstring(msg, vaf->fmt, vaf->va),
                                                    ^
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: expected member name or ';' after declaration specifiers
   drivers/usb/mtu3/./mtu3_trace.h:23:1: error: expected member name or ';' after declaration specifiers
   TRACE_EVENT(mtu3_log,
   ^
   include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_EVENT_CLASS(name,                              \
           ^
   include/trace/trace_events.h:55:3: note: expanded from macro 'DECLARE_EVENT_CLASS'
                   char                    __data[];                       \
                   ^
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:94:
>> drivers/usb/mtu3/./mtu3_trace.h:23:1: error: expected ';' at end of declaration list
   include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_EVENT_CLASS(name,                              \
           ^
   include/trace/trace_events.h:55:3: note: expanded from macro 'DECLARE_EVENT_CLASS'
                   char                    __data[];                       \
                   ^
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:132:
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: type name requires a specifier or qualifier
                   __vstring(msg, vaf->fmt, vaf->va),
                                                    ^
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: expected member name or ';' after declaration specifiers
   drivers/usb/mtu3/./mtu3_trace.h:23:1: error: expected member name or ';' after declaration specifiers
   TRACE_EVENT(mtu3_log,
   ^
   include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_EVENT_CLASS(name,                              \
           ^
   include/trace/trace_events.h:117:10: note: expanded from macro 'DECLARE_EVENT_CLASS'
                   tstruct;                                                \
                          ^
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:250:
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: expected expression
                   __vstring(msg, vaf->fmt, vaf->va),
                                                    ^
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:268:
>> drivers/usb/mtu3/./mtu3_trace.h:27:3: error: no member named '__data' in 'trace_event_raw_mtu3_log'
                   __string(name, dev_name(dev))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/stages/stage5_get_offsets.h:36:29: note: expanded from macro '__string'
   #define __string(item, src) __dynamic_array(char, item,                 \
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/stages/stage5_get_offsets.h:31:11: note: expanded from macro '__dynamic_array'
                                  offsetof(typeof(*entry), __data);        \
                                  ^                        ~~~~~~
   include/linux/stddef.h:16:32: note: expanded from macro 'offsetof'
   #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
                                   ^                        ~~~~~~
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/trace/trace_events.h:43:16: note: expanded from macro 'TRACE_EVENT'
                                PARAMS(tstruct),                  \
                                       ^~~~~~~
   include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   include/trace/trace_events.h:263:2: note: expanded from macro 'DECLARE_EVENT_CLASS'
           tstruct;                                                        \
           ^~~~~~~
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:268:
   drivers/usb/mtu3/./mtu3_trace.h:28:3: error: no member named '__data' in 'trace_event_raw_mtu3_log'
                   __vstring(msg, vaf->fmt, vaf->va),
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/stages/stage5_get_offsets.h:43:34: note: expanded from macro '__vstring'
   #define __vstring(item, fmt, ap) __dynamic_array(char, item,            \
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/stages/stage5_get_offsets.h:31:11: note: expanded from macro '__dynamic_array'
                                  offsetof(typeof(*entry), __data);        \
                                  ^                        ~~~~~~
   include/linux/stddef.h:16:32: note: expanded from macro 'offsetof'
   #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
                                   ^                        ~~~~~~
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/trace/trace_events.h:43:16: note: expanded from macro 'TRACE_EVENT'
                                PARAMS(tstruct),                  \
                                       ^~~~~~~
   include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   include/trace/trace_events.h:263:2: note: expanded from macro 'DECLARE_EVENT_CLASS'
           tstruct;                                                        \
           ^~~~~~~
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:268:
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: expected expression
                   __vstring(msg, vaf->fmt, vaf->va),
                                                    ^
   drivers/usb/mtu3/./mtu3_trace.h:23:1: error: expected expression
   TRACE_EVENT(mtu3_log,
   ^
   include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_EVENT_CLASS(name,                              \
           ^
   include/trace/trace_events.h:263:9: note: expanded from macro 'DECLARE_EVENT_CLASS'
           tstruct;                                                        \
                  ^
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:102:
   In file included from include/trace/trace_events.h:419:
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: expected expression
                   __vstring(msg, vaf->fmt, vaf->va),
                                                    ^
   In file included from drivers/usb/mtu3/mtu3_trace.c:12:
   In file included from drivers/usb/mtu3/./mtu3_trace.h:279:
   In file included from include/trace/define_trace.h:103:
   In file included from include/trace/perf.h:113:
>> drivers/usb/mtu3/./mtu3_trace.h:28:36: error: expected expression
                   __vstring(msg, vaf->fmt, vaf->va),
                                                    ^
   14 errors generated.


vim +28 drivers/usb/mtu3/./mtu3_trace.h

    22	
  > 23	TRACE_EVENT(mtu3_log,
    24		TP_PROTO(struct device *dev, struct va_format *vaf),
    25		TP_ARGS(dev, vaf),
    26		TP_STRUCT__entry(
  > 27			__string(name, dev_name(dev))
  > 28			__vstring(msg, vaf->fmt, vaf->va),
    29		),
    30		TP_fast_assign(
    31			__assign_str(name, dev_name(dev));
    32			__assign_vstr(msg, vaf->fmt, vaf->va);
    33		),
    34		TP_printk("%s: %s", __get_str(name), __get_str(msg))
    35	);
    36
kernel test robot July 6, 2022, 10:23 a.m. UTC | #2
Hi Steven,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on rostedt-trace/for-next]
[also build test ERROR 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]

url:    https://github.com/intel-lab-lkp/linux/commits/Steven-Rostedt/tracing-events-Add-__vstring-and-__assign_vstr-helpers/20220706-065125
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git for-next
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20220706/202207061812.KyUeiLeY-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/829b320ff9db68465d88e10181df019fffb775db
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Steven-Rostedt/tracing-events-Add-__vstring-and-__assign_vstr-helpers/20220706-065125
        git checkout 829b320ff9db68465d88e10181df019fffb775db
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

   In file included from include/trace/define_trace.h:102,
                    from drivers/usb/mtu3/mtu3_trace.h:279,
                    from drivers/usb/mtu3/mtu3_trace.c:12:
>> drivers/usb/mtu3/./mtu3_trace.h:28:50: error: expected specifier-qualifier-list before ',' token
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:54:17: note: in definition of macro 'DECLARE_EVENT_CLASS'
      54 |                 tstruct                                                 \
         |                 ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   In file included from include/trace/define_trace.h:102,
                    from drivers/usb/mtu3/mtu3_trace.h:279,
                    from drivers/usb/mtu3/mtu3_trace.c:12:
>> drivers/usb/mtu3/./mtu3_trace.h:28:50: error: expected specifier-qualifier-list before ',' token
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:117:17: note: in definition of macro 'DECLARE_EVENT_CLASS'
     117 |                 tstruct;                                                \
         |                 ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   In file included from include/trace/define_trace.h:102,
                    from drivers/usb/mtu3/mtu3_trace.h:279,
                    from drivers/usb/mtu3/mtu3_trace.c:12:
>> drivers/usb/mtu3/./mtu3_trace.h:28:50: error: expected expression before ',' token
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:244:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     244 |         tstruct                                                         \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   In file included from include/trace/define_trace.h:102,
                    from drivers/usb/mtu3/mtu3_trace.h:279,
                    from drivers/usb/mtu3/mtu3_trace.c:12:
   drivers/usb/mtu3/./mtu3_trace.h: In function 'trace_event_get_offsets_mtu3_log':
>> include/linux/stddef.h:16:33: error: 'struct trace_event_raw_mtu3_log' has no member named '__data'
      16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
         |                                 ^~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:263:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     263 |         tstruct;                                                        \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   include/trace/stages/stage5_get_offsets.h:31:32: note: in expansion of macro 'offsetof'
      31 |                                offsetof(typeof(*entry), __data);        \
         |                                ^~~~~~~~
   include/trace/stages/stage5_get_offsets.h:36:29: note: in expansion of macro '__dynamic_array'
      36 | #define __string(item, src) __dynamic_array(char, item,                 \
         |                             ^~~~~~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:27:17: note: in expansion of macro '__string'
      27 |                 __string(name, dev_name(dev))
         |                 ^~~~~~~~
>> include/linux/stddef.h:16:33: error: 'struct trace_event_raw_mtu3_log' has no member named '__data'
      16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
         |                                 ^~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:263:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     263 |         tstruct;                                                        \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   include/trace/stages/stage5_get_offsets.h:31:32: note: in expansion of macro 'offsetof'
      31 |                                offsetof(typeof(*entry), __data);        \
         |                                ^~~~~~~~
   include/trace/stages/stage5_get_offsets.h:43:34: note: in expansion of macro '__dynamic_array'
      43 | #define __vstring(item, fmt, ap) __dynamic_array(char, item,            \
         |                                  ^~~~~~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:28:17: note: in expansion of macro '__vstring'
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                 ^~~~~~~~~
>> drivers/usb/mtu3/./mtu3_trace.h:28:50: error: expected expression before ',' token
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:263:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     263 |         tstruct;                                                        \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:28:50: warning: left-hand operand of comma expression has no effect [-Wunused-value]
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:263:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     263 |         tstruct;                                                        \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   In file included from include/trace/define_trace.h:102,
                    from drivers/usb/mtu3/mtu3_trace.h:279,
                    from drivers/usb/mtu3/mtu3_trace.c:12:
   drivers/usb/mtu3/./mtu3_trace.h: In function 'trace_event_raw_event_mtu3_log':
>> drivers/usb/mtu3/./mtu3_trace.h:28:50: error: expected expression before ',' token
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:400:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     400 |         tstruct                                                         \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:28:50: warning: left-hand operand of comma expression has no effect [-Wunused-value]
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/trace_events.h:400:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
     400 |         tstruct                                                         \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   In file included from include/trace/define_trace.h:103,
                    from drivers/usb/mtu3/mtu3_trace.h:279,
                    from drivers/usb/mtu3/mtu3_trace.c:12:
   drivers/usb/mtu3/./mtu3_trace.h: In function 'perf_trace_mtu3_log':
>> drivers/usb/mtu3/./mtu3_trace.h:28:50: error: expected expression before ',' token
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/perf.h:87:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
      87 |         tstruct                                                         \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:28:50: warning: left-hand operand of comma expression has no effect [-Wunused-value]
      28 |                 __vstring(msg, vaf->fmt, vaf->va),
         |                                                  ^
   include/trace/perf.h:87:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
      87 |         tstruct                                                         \
         |         ^~~~~~~
   include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
      43 |                              PARAMS(tstruct),                  \
         |                              ^~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:26:9: note: in expansion of macro 'TP_STRUCT__entry'
      26 |         TP_STRUCT__entry(
         |         ^~~~~~~~~~~~~~~~
   include/trace/perf.h:62:13: warning: unused variable '__count' [-Wunused-variable]
      62 |         u64 __count = 1;                                                \
         |             ^~~~~~~
   include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
      40 |         DECLARE_EVENT_CLASS(name,                              \
         |         ^~~~~~~~~~~~~~~~~~~
   drivers/usb/mtu3/./mtu3_trace.h:23:1: note: in expansion of macro 'TRACE_EVENT'
      23 | TRACE_EVENT(mtu3_log,
         | ^~~~~~~~~~~


vim +28 drivers/usb/mtu3/./mtu3_trace.h

    22	
    23	TRACE_EVENT(mtu3_log,
    24		TP_PROTO(struct device *dev, struct va_format *vaf),
    25		TP_ARGS(dev, vaf),
    26		TP_STRUCT__entry(
    27			__string(name, dev_name(dev))
  > 28			__vstring(msg, vaf->fmt, vaf->va),
    29		),
    30		TP_fast_assign(
    31			__assign_str(name, dev_name(dev));
    32			__assign_vstr(msg, vaf->fmt, vaf->va);
    33		),
    34		TP_printk("%s: %s", __get_str(name), __get_str(msg))
    35	);
    36
Greg Kroah-Hartman July 14, 2022, 1:45 p.m. UTC | #3
On Thu, Jul 14, 2022 at 09:38:57AM -0400, Steven Rostedt wrote:
> >From d6485fe54bd4f04256a8500156a7c05cb3fb9592 Mon Sep 17 00:00:00 2001
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> Date: Tue, 5 Jul 2022 18:45:01 -0400
> Subject: [PATCH] USB: mtu3: tracing: Use the new __vstring() helper
> 
> Instead of open coding a __dynamic_array() with a fixed length (which
> defeats the purpose of the dynamic array in the first place). Use the new
> __vstring() helper that will use a va_list and only write enough of the
> string into the ring buffer that is needed.
> 
> Link: https://lkml.kernel.org/r/20220705224750.354926535@goodmis.org
> 
> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-mediatek@lists.infradead.org
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> 
> Changes since v1: remove ',' that fails the build.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Steven Rostedt July 14, 2022, 2:35 p.m. UTC | #4
On Thu, 14 Jul 2022 15:45:16 +0200
Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:

> > Changes since v1: remove ',' that fails the build.  
> 
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Thanks Greg!

-- Steve
diff mbox series

Patch

diff --git a/drivers/usb/mtu3/mtu3_trace.h b/drivers/usb/mtu3/mtu3_trace.h
index 1b897636daf2..57981082a6b1 100644
--- a/drivers/usb/mtu3/mtu3_trace.h
+++ b/drivers/usb/mtu3/mtu3_trace.h
@@ -25,11 +25,11 @@  TRACE_EVENT(mtu3_log,
 	TP_ARGS(dev, vaf),
 	TP_STRUCT__entry(
 		__string(name, dev_name(dev))
-		__dynamic_array(char, msg, MTU3_MSG_MAX)
+		__vstring(msg, vaf->fmt, vaf->va),
 	),
 	TP_fast_assign(
 		__assign_str(name, dev_name(dev));
-		vsnprintf(__get_str(msg), MTU3_MSG_MAX, vaf->fmt, *vaf->va);
+		__assign_vstr(msg, vaf->fmt, vaf->va);
 	),
 	TP_printk("%s: %s", __get_str(name), __get_str(msg))
 );