diff -urpN --exclude-from=/home/davej/.exclude bk-linus/kernel/exit.c linux-2.5/kernel/exit.c --- bk-linus/kernel/exit.c 2002-11-21 02:24:36.000000000 +0000 +++ linux-2.5/kernel/exit.c 2002-11-21 18:05:16.000000000 +0000 @@ -636,11 +636,11 @@ NORET_TYPE void do_exit(long code) { struct task_struct *tsk = current; - if (in_interrupt()) + if (unlikely(in_interrupt())) panic("Aiee, killing interrupt handler!"); - if (!tsk->pid) + if (unlikely(!tsk->pid)) panic("Attempted to kill the idle task!"); - if (tsk->pid == 1) + if (unlikely(tsk->pid == 1)) panic("Attempted to kill init!"); tsk->flags |= PF_EXITING; del_timer_sync(&tsk->real_timer);