summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_kprobe.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-08-05 08:46:15 +0200
committerIngo Molnar <mingo@elte.hu>2010-08-05 08:46:15 +0200
commitfc9ea5a1e53ee54f681e226d735008e2a6f8f470 (patch)
treefe59eb9aef5d797ae387885e6833c9c4d05735ad /kernel/trace/trace_kprobe.c
parentMerge branch 'perf/nmi' into perf/core (diff)
parenttracing/kprobes: unregister_trace_probe needs to be called under mutex (diff)
downloadlinux-fc9ea5a1e53ee54f681e226d735008e2a6f8f470.tar.xz
linux-fc9ea5a1e53ee54f681e226d735008e2a6f8f470.zip
Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core
Diffstat (limited to 'kernel/trace/trace_kprobe.c')
-rw-r--r--kernel/trace/trace_kprobe.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 1b79d1c15726..8b27c9849b42 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -925,14 +925,17 @@ static int create_trace_probe(int argc, char **argv)
pr_info("Delete command needs an event name.\n");
return -EINVAL;
}
+ mutex_lock(&probe_lock);
tp = find_probe_event(event, group);
if (!tp) {
+ mutex_unlock(&probe_lock);
pr_info("Event %s/%s doesn't exist.\n", group, event);
return -ENOENT;
}
/* delete an event */
unregister_trace_probe(tp);
free_trace_probe(tp);
+ mutex_unlock(&probe_lock);
return 0;
}