--- linux-2.5.8-pre1-clean/kernel/exit.c Thu Apr 4 08:58:31 2002 +++ linux/kernel/exit.c Thu Apr 4 10:19:37 2002 @@ -499,6 +499,11 @@ acct_process(code); __exit_mm(tsk); + /* I removed the lock_kernel() from here. It caused preempt kernels + to oops. This fixes it for now, but the real cause needs to + be found. + - Dave Hansen 04-04-2002 */ + preempt_disable(); sem_exit(); __exit_files(tsk); __exit_fs(tsk); @@ -515,6 +520,7 @@ tsk->exit_code = code; exit_notify(); + preempt_enable_no_resched(); /* partner of above preempt_disable(); */ schedule(); BUG(); /*