aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-10-05 12:18:03 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-10-06 11:00:01 -0400
commit322a2c100a8998158445599ea437fb556aa95b11 (patch)
tree8039af7452e0fac73f3083cb7e9c1e00d3007811
parentfc6b177dee33365ccb29fe6d2092223cf8d679f9 (diff)
futex: Move exit_pi_state() call to release_mm()
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 <tglx@linutronix.de> LKML-Reference: <new-submission> Cc: stable@kernel.org Cc: Anirban Sinha <ani@anirban.org> Cc: Peter Zijlstra <peterz@infradead.org>
-rw-r--r--kernel/exit.c2
-rw-r--r--kernel/fork.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index ae5d8660ddff..bc2b1fdfc354 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -989,8 +989,6 @@ NORET_TYPE void do_exit(long code)
989 tsk->mempolicy = NULL; 989 tsk->mempolicy = NULL;
990#endif 990#endif
991#ifdef CONFIG_FUTEX 991#ifdef CONFIG_FUTEX
992 if (unlikely(!list_empty(&tsk->pi_state_list)))
993 exit_pi_state_list(tsk);
994 if (unlikely(current->pi_state_cache)) 992 if (unlikely(current->pi_state_cache))
995 kfree(current->pi_state_cache); 993 kfree(current->pi_state_cache);
996#endif 994#endif
diff --git a/kernel/fork.c b/kernel/fork.c
index 88ef51ca84de..341965b0ab1c 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -553,6 +553,8 @@ void mm_release(struct task_struct *tsk, struct mm_struct *mm)
553 tsk->compat_robust_list = NULL; 553 tsk->compat_robust_list = NULL;
554 } 554 }
555#endif 555#endif
556 if (unlikely(!list_empty(&tsk->pi_state_list)))
557 exit_pi_state_list(tsk);
556#endif 558#endif
557 559
558 /* Get rid of any cached register state */ 560 /* Get rid of any cached register state */