2.6.31-stable review patch. If anyone has any objections, please let us know. ------------------ From: Thomas Gleixner commit 322a2c100a8998158445599ea437fb556aa95b11 upstream. exit_pi_state() is called from do_exit() but not from do_execve(). Move it to release_mm() so it gets called from do_execve() as well. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Anirban Sinha Cc: Peter Zijlstra Signed-off-by: Greg Kroah-Hartman --- kernel/exit.c | 2 -- kernel/fork.c | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) --- a/kernel/exit.c +++ b/kernel/exit.c @@ -987,8 +987,6 @@ NORET_TYPE void do_exit(long code) tsk->mempolicy = NULL; #endif #ifdef CONFIG_FUTEX - if (unlikely(!list_empty(&tsk->pi_state_list))) - exit_pi_state_list(tsk); if (unlikely(current->pi_state_cache)) kfree(current->pi_state_cache); #endif --- a/kernel/fork.c +++ b/kernel/fork.c @@ -550,6 +550,8 @@ void mm_release(struct task_struct *tsk, if (unlikely(tsk->compat_robust_list)) compat_exit_robust_list(tsk); #endif + if (unlikely(!list_empty(&tsk->pi_state_list))) + exit_pi_state_list(tsk); #endif /* Get rid of any cached register state */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/