Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c269fc8c authored by Tom Zanussi's avatar Tom Zanussi Committed by Ingo Molnar
Browse files

tracing: fix leak in event_format_read()



Impact: fix memory leak

If event_format_read() exits early due to nonzero ppos, the
previous kmalloc doesn't get freed - might as well do the
check before the kmalloc and avoid the problem.

Signed-off-by: default avatarTom Zanussi <tzanussi@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1237270859.8033.141.camel@charm-linux>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent e4106133
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -378,15 +378,15 @@ event_format_read(struct file *filp, char __user *ubuf, size_t cnt,
	char *buf;
	int r;

	if (*ppos)
		return 0;

	s = kmalloc(sizeof(*s), GFP_KERNEL);
	if (!s)
		return -ENOMEM;

	trace_seq_init(s);

	if (*ppos)
		return 0;

	/* If any of the first writes fail, so will the show_format. */

	trace_seq_printf(s, "name: %s\n", call->name);