tracing/IB/hfi1: Use the new __vstring() helper
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 5 Jul 2022 22:44:55 +0000 (18:44 -0400)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Fri, 15 Jul 2022 21:44:40 +0000 (17:44 -0400)
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/20220705224749.239494531@goodmis.org
Cc: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: linux-rdma@vger.kernel.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
drivers/infiniband/hw/hfi1/trace_dbg.h

index 707f105..582b6f6 100644 (file)
@@ -26,14 +26,10 @@ DECLARE_EVENT_CLASS(hfi1_trace_template,
                    TP_PROTO(const char *function, struct va_format *vaf),
                    TP_ARGS(function, vaf),
                    TP_STRUCT__entry(__string(function, function)
-                                    __dynamic_array(char, msg, MAX_MSG_LEN)
+                                    __vstring(msg, vaf->fmt, vaf->va)
                                     ),
                    TP_fast_assign(__assign_str(function, function);
-                                  WARN_ON_ONCE(vsnprintf
-                                               (__get_dynamic_array(msg),
-                                                MAX_MSG_LEN, vaf->fmt,
-                                                *vaf->va) >=
-                                               MAX_MSG_LEN);
+                                  __assign_vstr(msg, vaf->fmt, vaf->va);
                                   ),
                    TP_printk("(%s) %s",
                              __get_str(function),