diff --git a/kernel/exit.c b/kernel/exit.c index 38de88f8f75d..d6c250f57977 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -909,7 +909,6 @@ void __noreturn do_exit(long code) * Make sure we are holding no locks: */ debug_check_no_locks_held(); - futex_exit_done(tsk); if (tsk->io_context) exit_io_context(tsk); diff --git a/kernel/futex.c b/kernel/futex.c index 6f00ce1c679e..ac1fe4c5f231 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -3719,6 +3719,7 @@ void futex_exec_release(struct task_struct *tsk) void futex_exit_release(struct task_struct *tsk) { futex_exec_release(tsk); + futex_exit_done(tsk); } long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,