]> Git Repo - linux.git/commitdiff
tracing: Fix double free when function profile init failed
authorNamhyung Kim <[email protected]>
Mon, 1 Apr 2013 12:46:23 +0000 (21:46 +0900)
committerSteven Rostedt <[email protected]>
Tue, 9 Apr 2013 22:54:04 +0000 (18:54 -0400)
On the failure path, stat->start and stat->pages will refer same page.
So it'll attempt to free the same page again and get kernel panic.

Link: http://lkml.kernel.org/r/[email protected]
Cc: Frederic Weisbecker <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: [email protected]
Signed-off-by: Namhyung Kim <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
kernel/trace/ftrace.c

index 7e897106b7e0f30ae5ff9b5609ba35a97b4e4957..926ebfb7493638a15f6b3797a78e8818f94bf808 100644 (file)
@@ -694,7 +694,6 @@ int ftrace_profile_pages_init(struct ftrace_profile_stat *stat)
                free_page(tmp);
        }
 
-       free_page((unsigned long)stat->pages);
        stat->pages = NULL;
        stat->start = NULL;
 
This page took 0.064607 seconds and 4 git commands to generate.