Subject: Re: [PATCH v2] batman-adv: tracing: Use the new __vstring() helper

From: Sven Eckelmann <[email-masked]>
Date: Mon, 25 Jul 2022 09:33:56 +0200

On Monday, 25 July 2022 01:16:50 CEST Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <[email-masked]>
> 
> 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 <[email-masked]>

(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/[email-masked]
> 
>  - 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(
>