aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (Google) <rostedt@goodmis.org>2022-03-16 11:25:12 -0400
committerYordan Karadzhov (VMware) <y.karadz@gmail.com>2022-03-17 18:31:53 +0200
commit37dd19f24c693e0c40a8cf133642e387b216540e (patch)
treeb117718c820d4935837a93483246ee702830e3ce
parent027ccb9b4e2fd5fde2a41a4e5ff1931ddf0df9d5 (diff)
downloadkernel-shark-37dd19f24c693e0c40a8cf133642e387b216540e.tar.gz
kernelshark: Release input_mutex on not finding record
The tepdata_get_latency() function could exit without releasing the stream->input_mutex, which would cause a lockup later on. Fixes: 836ce858246b7 ("kernel-shark: Add stream interface for trace-cmd data") Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
-rw-r--r--src/libkshark-tepdata.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libkshark-tepdata.c b/src/libkshark-tepdata.c
index e9244b07..08aca098 100644
--- a/src/libkshark-tepdata.c
+++ b/src/libkshark-tepdata.c
@@ -793,8 +793,10 @@ static char *tepdata_get_latency(struct kshark_data_stream *stream,
record = tracecmd_read_at(kshark_get_tep_input(stream), entry->offset, NULL);
- if (!record)
+ if (!record) {
+ pthread_mutex_unlock(&stream->input_mutex);
return NULL;
+ }
trace_seq_reset(&seq);
tep_print_event(kshark_get_tep(stream), &seq, record,