From mboxrd@z Thu Jan 1 00:00:00 1970 From: yjwei@cn.fujitsu.com (Wei Yongjun) Date: Tue, 21 Oct 2008 16:19:41 +0800 Subject: [ltt-dev] lttng: Fix possible memory leak in ltt-tracer.c Message-ID: <48FD909D.2000906@cn.fujitsu.com> ltt_traces <../cgi-bin/global.cgi?pattern=ltt_traces&type=symbol>.head <../cgi-bin/global.cgi?pattern=head&type=symbol> is saved to tmp, and is empty after the following code: INIT_LIST_HEAD(<t_traces.head); So remove the tracers will take no effect. This patch fix to remove tracers used tmp. Signed-off-by: Wei Yongjun diff --git a/ltt/ltt-tracer.c b/ltt/ltt-tracer.c index bc8251b..6109fb6 100644 --- a/ltt/ltt-tracer.c +++ b/ltt/ltt-tracer.c @@ -818,7 +818,7 @@ static void __exit ltt_exit(void) synchronize_sched(); /* Safe iteration is now permitted. It does not have to be RCU-safe * because no readers are left. */ - list_for_each_safe(pos, n, <t_traces.head) { + list_for_each_safe(pos, n, &tmp) { trace = container_of(pos, struct ltt_trace_struct, list); /* _ltt_trace_destroy does a synchronize_sched() */ _ltt_trace_destroy(trace);