Re: [PATCH] tracing: Uninitialized variable in create_tracing_map_fields()

From: Tom Zanussi
Date: Wed Mar 28 2018 - 10:05:04 EST


Hi Dan,

On Wed, 2018-03-28 at 14:48 +0300, Dan Carpenter wrote:
> Smatch complains that idx can be used uninitialized when we check if
> (idx < 0). It has to be the first iteration through the loop and the
> HIST_FIELD_FL_STACKTRACE bit has to be clear and the HIST_FIELD_FL_VAR
> bit has to be set to reach the bug.
>
> Fixes: 30350d65ac56 ("tracing: Add variable support to hist triggers")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
>
> diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
> index 4f027642ceef..6aceee287d07 100644
> --- a/kernel/trace/trace_events_hist.c
> +++ b/kernel/trace/trace_events_hist.c
> @@ -4411,7 +4411,7 @@ static int create_tracing_map_fields(struct hist_trigger_data *hist_data)
> struct tracing_map *map = hist_data->map;
> struct ftrace_event_field *field;
> struct hist_field *hist_field;
> - int i, idx;
> + int i, idx = 0;
>
> for_each_hist_field(i, hist_data) {
> hist_field = hist_data->fields[i];

Yes, this should definitely be initialized to 0, thanks for the patch!

Acked-by: Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx>