diff --git a/kernel/exit.c b/kernel/exit.c
index 25e9cb6..9a90999 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -1073,6 +1073,7 @@ void __noreturn make_task_dead(int signr)
 		futex_exit_recursive(tsk);
 		tsk->exit_state = EXIT_DEAD;
 		refcount_inc(&tsk->rcu_users);
+		preempt_disable();
 		do_task_dead();
 	}
 
