Re: [PATCH v3 1/3] tracing: Change STR_VAR_MAX_LEN

From: Steven Rostedt
Date: Fri Oct 02 2020 - 15:44:24 EST


On Thu, 1 Oct 2020 16:46:44 -0500
Tom Zanussi <zanussi@xxxxxxxxxx> wrote:

> 32 is too small for this value, and anyway it makes more sense to use
> MAX_FILTER_STR_VAL, as this is also the value used for variable-length
> __strings.
>
> Tested-by: Axel Rasmussen <axelrasmussen@xxxxxxxxxx>
> Signed-off-by: Tom Zanussi <zanussi@xxxxxxxxxx>
> ---
> kernel/trace/trace_synth.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace_synth.h b/kernel/trace/trace_synth.h
> index ac35c45207c4..5166705d1556 100644
> --- a/kernel/trace/trace_synth.h
> +++ b/kernel/trace/trace_synth.h
> @@ -7,7 +7,7 @@
> #define SYNTH_SYSTEM "synthetic"
> #define SYNTH_FIELDS_MAX 32
>
> -#define STR_VAR_LEN_MAX 32 /* must be multiple of sizeof(u64) */
> +#define STR_VAR_LEN_MAX MAX_FILTER_STR_VAL /* must be multiple of sizeof(u64) */

Hmm, this requirement is now passed to MAX_FILTER_STR_VAL, but there's no
mention of it there. I guess we should have a

BUILD_BUG_ON(STR_VAR_LEN_MAX & (sizeof(u64) - 1));

in C code somewhere.

-- Steve


>
> struct synth_field {
> char *type;