re: tracing: Add support for dynamic strings to synthetic events

From: Colin Ian King
Date: Wed Oct 07 2020 - 09:08:42 EST


Hi,

Static analysis with Coverity has detected a duplicated condition in an
if statement in the following commit in source
kernel/trace/trace_events_synth.c

commit bd82631d7ccdc894af2738e47abcba2cb6e7dea9
Author: Tom Zanussi <zanussi@xxxxxxxxxx>
Date: Sun Oct 4 17:14:06 2020 -0500

tracing: Add support for dynamic strings to synthetic events

Analysis is as follows:

493 for (i = 0; i < event->n_fields; i++) {

Same on both sides (CONSTANT_EXPRESSION_RESULT)
pointless_expression: The expression event->fields[i]->is_dynamic &&
event->fields[i]->is_dynamic does not accomplish anything because it
evaluates to either of its identical operands, event->fields[i]->is_dynamic.

Did you intend the operands to be different?

494 if (event->fields[i]->is_dynamic &&
495 event->fields[i]->is_dynamic)
496 pos += snprintf(buf + pos, LEN_OR_ZERO,
497 ", __get_str(%s)",
event->fields[i]->name);
498 else
499 pos += snprintf(buf + pos, LEN_OR_ZERO,
500 ", REC->%s",
event->fields[i]->name);
501 }

Colin