rtla: Fix double free

[ Upstream commit 4f753c3be5 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Andreas Schwab 2022-07-25 17:12:18 +02:00 committed by Greg Kroah-Hartman
parent 42565936b5
commit b74b4e1b8b
1 changed files with 7 additions and 2 deletions

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;
}
}
/*