diff options
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 45ed043b8bf5..7f2683a10ac4 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
| @@ -87,7 +87,7 @@ static void __exit_signal(struct task_struct *tsk) | |||
| 87 | 87 | ||
| 88 | sighand = rcu_dereference_check(tsk->sighand, | 88 | sighand = rcu_dereference_check(tsk->sighand, |
| 89 | rcu_read_lock_held() || | 89 | rcu_read_lock_held() || |
| 90 | lockdep_is_held(&tasklist_lock)); | 90 | lockdep_tasklist_lock_is_held()); |
| 91 | spin_lock(&sighand->siglock); | 91 | spin_lock(&sighand->siglock); |
| 92 | 92 | ||
| 93 | posix_cpu_timers_exit(tsk); | 93 | posix_cpu_timers_exit(tsk); |
| @@ -952,7 +952,9 @@ NORET_TYPE void do_exit(long code) | |||
| 952 | preempt_count()); | 952 | preempt_count()); |
| 953 | 953 | ||
| 954 | acct_update_integrals(tsk); | 954 | acct_update_integrals(tsk); |
| 955 | 955 | /* sync mm's RSS info before statistics gathering */ | |
| 956 | if (tsk->mm) | ||
| 957 | sync_mm_rss(tsk, tsk->mm); | ||
| 956 | group_dead = atomic_dec_and_test(&tsk->signal->live); | 958 | group_dead = atomic_dec_and_test(&tsk->signal->live); |
| 957 | if (group_dead) { | 959 | if (group_dead) { |
| 958 | hrtimer_cancel(&tsk->signal->real_timer); | 960 | hrtimer_cancel(&tsk->signal->real_timer); |
| @@ -1188,7 +1190,7 @@ static int wait_task_zombie(struct wait_opts *wo, struct task_struct *p) | |||
| 1188 | 1190 | ||
| 1189 | if (unlikely(wo->wo_flags & WNOWAIT)) { | 1191 | if (unlikely(wo->wo_flags & WNOWAIT)) { |
| 1190 | int exit_code = p->exit_code; | 1192 | int exit_code = p->exit_code; |
| 1191 | int why, status; | 1193 | int why; |
| 1192 | 1194 | ||
| 1193 | get_task_struct(p); | 1195 | get_task_struct(p); |
| 1194 | read_unlock(&tasklist_lock); | 1196 | read_unlock(&tasklist_lock); |
