[ 3.5.y.z extended stable ] Patch "tracing: Fix double free when function profile init failed" has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Fri Apr 12 13:51:35 UTC 2013


This is a note to let you know that I have just added a patch titled

    tracing: Fix double free when function profile init failed

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

>From b8b3e6d0f4e562ac38f5ab156ed0e987b0a3091c Mon Sep 17 00:00:00 2001
From: Namhyung Kim <namhyung.kim at lge.com>
Date: Mon, 1 Apr 2013 21:46:23 +0900
Subject: [PATCH] tracing: Fix double free when function profile init failed

commit 83e03b3fe4daffdebbb42151d5410d730ae50bd1 upstream.

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/1364820385-32027-1-git-send-email-namhyung@kernel.org

Cc: Frederic Weisbecker <fweisbec at gmail.com>
Cc: Namhyung Kim <namhyung.kim at lge.com>
Signed-off-by: Namhyung Kim <namhyung at kernel.org>
Signed-off-by: Steven Rostedt <rostedt at goodmis.org>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 kernel/trace/ftrace.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 00ea125..7da46c7 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -642,7 +642,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;

--
1.8.1.2





More information about the kernel-team mailing list