summaryrefslogtreecommitdiff
path: root/tools/perf/util/intel-pt.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-02-22 10:26:05 +0300
committerIngo Molnar <mingo@kernel.org>2016-02-22 10:26:05 +0300
commitab876728a91d89e93e4928895529cd5bb4dff6e4 (patch)
tree3aa7603c289f79a570cf15e4019b1acb9459e608 /tools/perf/util/intel-pt.c
parent35575e0e8ba633fc8276509a21f89b599b4f9006 (diff)
parent81f70ba233d5f660e1ea5fe23260ee323af5d53a (diff)
downloadlinux-ab876728a91d89e93e4928895529cd5bb4dff6e4.tar.xz
Merge tag 'v4.5-rc5' into efi/core, before queueing up new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/intel-pt.c')
-rw-r--r--tools/perf/util/intel-pt.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index 81a2eb77ba7f..05d815851be1 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -2068,6 +2068,15 @@ int intel_pt_process_auxtrace_info(union perf_event *event,
err = -ENOMEM;
goto err_free_queues;
}
+
+ /*
+ * Since this thread will not be kept in any rbtree not in a
+ * list, initialize its list node so that at thread__put() the
+ * current thread lifetime assuption is kept and we don't segfault
+ * at list_del_init().
+ */
+ INIT_LIST_HEAD(&pt->unknown_thread->node);
+
err = thread__set_comm(pt->unknown_thread, "unknown", 0);
if (err)
goto err_delete_thread;