[v2] batman-adv: tracing: Use the new __vstring() helper
Commit Message
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: Marek Lindner <mareklindner@neomailbox.ch>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Simon Wunderlich <sw@simonwunderlich.de>
Cc: Antonio Quartulli <a@unstable.cc>
Cc: Sven Eckelmann <sven@narfation.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: b.a.t.m.a.n@lists.open-mesh.org
Cc: netdev@vger.kernel.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
Changes since v1: https://lkml.kernel.org/r/20220705224751.080390002@goodmis.org
- Removed no longer used BATADV_MAX_MSG_LEN
net/batman-adv/trace.h | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
Comments
On Monday, 25 July 2022 01:16:50 CEST Steven Rostedt wrote:
> 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.
Acked-by: Sven Eckelmann <sven@narfation.org>
(and sorry for taking such a long time to respond to the v1 version of the
patch).
> ---
> Changes since v1: https://lkml.kernel.org/r/20220705224751.080390002@goodmis.org
>
> - Removed no longer used BATADV_MAX_MSG_LEN
>
> net/batman-adv/trace.h | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/net/batman-adv/trace.h b/net/batman-adv/trace.h
> index d673ebdd0426..31c8f922651d 100644
> --- a/net/batman-adv/trace.h
> +++ b/net/batman-adv/trace.h
> @@ -28,8 +28,6 @@
>
> #endif /* CONFIG_BATMAN_ADV_TRACING */
>
> -#define BATADV_MAX_MSG_LEN 256
> -
> TRACE_EVENT(batadv_dbg,
>
> TP_PROTO(struct batadv_priv *bat_priv,
> @@ -40,16 +38,13 @@ TRACE_EVENT(batadv_dbg,
> TP_STRUCT__entry(
> __string(device, bat_priv->soft_iface->name)
> __string(driver, KBUILD_MODNAME)
> - __dynamic_array(char, msg, BATADV_MAX_MSG_LEN)
> + __vstring(msg, vaf->fmt, vaf->va)
> ),
>
> TP_fast_assign(
> __assign_str(device, bat_priv->soft_iface->name);
> __assign_str(driver, KBUILD_MODNAME);
> - WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
> - BATADV_MAX_MSG_LEN,
> - vaf->fmt,
> - *vaf->va) >= BATADV_MAX_MSG_LEN);
> + __assign_vstr(msg, vaf->fmt, vaf->va);
> ),
>
> TP_printk(
>
@@ -28,8 +28,6 @@
#endif /* CONFIG_BATMAN_ADV_TRACING */
-#define BATADV_MAX_MSG_LEN 256
-
TRACE_EVENT(batadv_dbg,
TP_PROTO(struct batadv_priv *bat_priv,
@@ -40,16 +38,13 @@ TRACE_EVENT(batadv_dbg,
TP_STRUCT__entry(
__string(device, bat_priv->soft_iface->name)
__string(driver, KBUILD_MODNAME)
- __dynamic_array(char, msg, BATADV_MAX_MSG_LEN)
+ __vstring(msg, vaf->fmt, vaf->va)
),
TP_fast_assign(
__assign_str(device, bat_priv->soft_iface->name);
__assign_str(driver, KBUILD_MODNAME);
- WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
- BATADV_MAX_MSG_LEN,
- vaf->fmt,
- *vaf->va) >= BATADV_MAX_MSG_LEN);
+ __assign_vstr(msg, vaf->fmt, vaf->va);
),
TP_printk(