diff --git a/kernel/exit.c b/kernel/exit.c index a098d76a9877ec8463195d2d806e2d67b5f68bd1..b39f4b3c0f37cbf850c656db0e1dae22451be607 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -784,7 +784,6 @@ void 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 32a606b605cbbeaa70e19e2a3dc353aeb30b4479..f85635ff2fce1aed50b92c1ed300468ca6b4b9e5 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -3255,6 +3255,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,