rtla: Fix double free

Avoid double free by making trace_instance_destroy indempotent.  When
trace_instance_init fails, it calls trace_instance_destroy, but its only
caller osnoise_destroy_tool calls it again.

Link: https://lkml.kernel.org/r/mvmilnlkyzx.fsf_-_@suse.de

Fixes: 0605bf009f ("rtla: Add osnoise tool")
Signed-off-by: Andreas Schwab <schwab@suse.de>
Acked-by: Daniel Bristot de Oliveira <bristot@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
Andreas Schwab 2022-07-25 17:12:18 +02:00 committed by Steven Rostedt (Google)
parent c7d8a598c5
commit 4f753c3be5

View File

@ -134,13 +134,18 @@ void trace_instance_destroy(struct trace_instance *trace)
if (trace->inst) {
disable_tracer(trace->inst);
destroy_instance(trace->inst);
trace->inst = NULL;
}
if (trace->seq)
if (trace->seq) {
free(trace->seq);
trace->seq = NULL;
}
if (trace->tep)
if (trace->tep) {
tep_free(trace->tep);
trace->tep = NULL;
}
}
/*