X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fexit.c;h=5b0fb9f09f212d05642dd343be2692a2b0a039b7;hb=f26fdd59929e1144c6caf72adcaf4561d6e682a4;hp=3ebcd60a19c69e76bab6d9b70cbd0d75508b3422;hpb=38b22b6e9f46ab8f73ef5734f0e0a000766a9258;p=linux-2.6 diff --git a/kernel/exit.c b/kernel/exit.c index 3ebcd60a19..5b0fb9f09f 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -784,6 +784,8 @@ fastcall NORET_TYPE void do_exit(long code) profile_task_exit(tsk); + WARN_ON(atomic_read(&tsk->fs_excl)); + if (unlikely(in_interrupt())) panic("Aiee, killing interrupt handler!"); if (unlikely(!tsk->pid)) @@ -827,8 +829,10 @@ fastcall NORET_TYPE void do_exit(long code) acct_update_integrals(tsk); update_mem_hiwater(tsk); group_dead = atomic_dec_and_test(&tsk->signal->live); - if (group_dead) + if (group_dead) { + del_timer_sync(&tsk->signal->real_timer); acct_process(code); + } exit_mm(tsk); exit_sem(tsk);