From c87ab2ed2fa304fc54d01dbd6652776af18a172c Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sun, 23 Nov 2008 17:33:12 +0100 Subject: [PATCH] --- yaml --- r: 121175 b: refs/heads/master c: eae849ca034c7f1015f0a6f17421ebc737f0a069 h: refs/heads/master i: 121173: 44cdaf115835ca1ff51399b9a6a9f435792d91c0 121171: 5f401bb37aed76eff62dd53647b7d55341bf983a 121167: 0a4de6c5c9c9f3a5ef7c4306a682378a75437fc5 v: v3 --- [refs] | 2 +- trunk/kernel/trace/ftrace.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 15e251c48b6c..f34642cf5fa3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 82f60f0bc854aada696f27d863c03bef91f1509d +refs/heads/master: eae849ca034c7f1015f0a6f17421ebc737f0a069 diff --git a/trunk/kernel/trace/ftrace.c b/trunk/kernel/trace/ftrace.c index 90d99fb02ae4..53042f118f23 100644 --- a/trunk/kernel/trace/ftrace.c +++ b/trunk/kernel/trace/ftrace.c @@ -1628,8 +1628,13 @@ void ftrace_retfunc_init_task(struct task_struct *t) void ftrace_retfunc_exit_task(struct task_struct *t) { - kfree(t->ret_stack); + struct ftrace_ret_stack *ret_stack = t->ret_stack; + t->ret_stack = NULL; + /* NULL must become visible to IRQs before we free it: */ + barrier(); + + kfree(ret_stack); } #endif