diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2012-07-25 00:31:09 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-07-25 00:34:40 -0400 |
commit | 6aeea3ecc33b1f36dbc3b80461d15a7052ae424f (patch) | |
tree | bbd273e3e0ca76094aed8e9c77e5adfe2b07f779 /kernel/exit.c | |
parent | 9844a5524ec532aee826c35e3031637c7fc8287b (diff) | |
parent | bdc0077af574800d24318b6945cf2344e8dbb050 (diff) |
Merge remote-tracking branch 'origin' into irqdomain/next
Diffstat (limited to 'kernel/exit.c')
-rw-r--r-- | kernel/exit.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 2f59cc334516..d17f6c4ddfa9 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -953,14 +953,11 @@ void do_exit(long code) | |||
953 | exit_signals(tsk); /* sets PF_EXITING */ | 953 | exit_signals(tsk); /* sets PF_EXITING */ |
954 | /* | 954 | /* |
955 | * tsk->flags are checked in the futex code to protect against | 955 | * tsk->flags are checked in the futex code to protect against |
956 | * an exiting task cleaning up the robust pi futexes, and in | 956 | * an exiting task cleaning up the robust pi futexes. |
957 | * task_work_add() to avoid the race with exit_task_work(). | ||
958 | */ | 957 | */ |
959 | smp_mb(); | 958 | smp_mb(); |
960 | raw_spin_unlock_wait(&tsk->pi_lock); | 959 | raw_spin_unlock_wait(&tsk->pi_lock); |
961 | 960 | ||
962 | exit_task_work(tsk); | ||
963 | |||
964 | if (unlikely(in_atomic())) | 961 | if (unlikely(in_atomic())) |
965 | printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n", | 962 | printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n", |
966 | current->comm, task_pid_nr(current), | 963 | current->comm, task_pid_nr(current), |
@@ -995,6 +992,7 @@ void do_exit(long code) | |||
995 | exit_shm(tsk); | 992 | exit_shm(tsk); |
996 | exit_files(tsk); | 993 | exit_files(tsk); |
997 | exit_fs(tsk); | 994 | exit_fs(tsk); |
995 | exit_task_work(tsk); | ||
998 | check_stack_usage(); | 996 | check_stack_usage(); |
999 | exit_thread(); | 997 | exit_thread(); |
1000 | 998 | ||