Skip to content

Commit

Permalink
tracing: Fix failure path in ftrace_graph_write()
Browse files Browse the repository at this point in the history
Don't call trace_parser_put() on uninitialized trace_parser.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <4AB86639.3000003@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Li Zefan authored and Ingo Molnar committed Sep 22, 2009
1 parent 4ba7978 commit 1eb90f1
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions kernel/trace/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -2561,12 +2561,12 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,

if (ftrace_graph_count >= FTRACE_GRAPH_MAX_FUNCS) {
ret = -EBUSY;
goto out;
goto out_unlock;
}

if (trace_parser_get_init(&parser, FTRACE_BUFF_MAX)) {
ret = -ENOMEM;
goto out;
goto out_unlock;
}

read = trace_get_user(&parser, ubuf, cnt, ppos);
Expand All @@ -2578,12 +2578,14 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
ret = ftrace_set_func(ftrace_graph_funcs, &ftrace_graph_count,
parser.buffer);
if (ret)
goto out;
goto out_free;
}

ret = read;
out:

out_free:
trace_parser_put(&parser);
out_unlock:
mutex_unlock(&graph_lock);

return ret;
Expand Down

0 comments on commit 1eb90f1

Please sign in to comment.