aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYordan Karadzhov (VMware) <y.karadz@gmail.com>2021-05-17 17:21:39 +0300
committerYordan Karadzhov (VMware) <y.karadz@gmail.com>2021-05-18 10:52:15 +0300
commit0ecb2b501a5b62d5d318cd6094070e9a11ed555a (patch)
tree9a12f7bd0e9f7492812a84e86e8cd633a37fda30
parent8b3fa032313cac8b34da7d7195896604c10c8c62 (diff)
downloadkernel-shark-0ecb2b501a5b62d5d318cd6094070e9a11ed555a.tar.gz
kernel-shark: Fix the checking if "trace_seq" was destroyed
When closing a "tep" data stream we destroy the "trace_seq" object. However, trace_seq_destroy() sets the buffer to "TRACE_SEQ_POISON" which is different from NULL. Because TRACE_SEQ_POISON is an internal definition of libtraceevent, we have to set the buffer to NULL in order to indicate that it was destroyed. Link: https://lore.kernel.org/linux-trace-devel/20210517142140.286153-7-y.karadz@gmail.com 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 bc5babb2..acc554b7 100644
--- a/src/libkshark-tepdata.c
+++ b/src/libkshark-tepdata.c
@@ -1615,8 +1615,10 @@ int kshark_tep_close_interface(struct kshark_data_stream *stream)
if (!tep_handle)
return -EFAULT;
- if (seq.buffer)
+ if (seq.buffer) {
trace_seq_destroy(&seq);
+ seq.buffer = NULL;
+ }
if (tep_handle->advanced_event_filter) {
tep_filter_reset(tep_handle->advanced_event_filter);