sys_futex() is a wrapper to do_futex() which does not modify any
values here:

- uaddr, val and val3 are kept the same

- op is masked with FUTEX_CMD_MASK, but is always set to FUTEX_WAKE.
  Therefore, val2 is always 0.

- as utime is set to NULL, *timeout is NULL

CC: Thomas Gleixner <t...@linutronix.de>
CC: Ingo Molnar <mi...@redhat.com>
CC: Peter Zijlstra <pet...@infradead.org>
CC: Darren Hart <dvh...@infradead.org>
CC: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Dominik Brodowski <li...@dominikbrodowski.net>
---
 kernel/fork.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/fork.c b/kernel/fork.c
index e5d9d405ae4e..b1e031aac9db 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1198,8 +1198,8 @@ void mm_release(struct task_struct *tsk, struct mm_struct 
*mm)
                         * not set up a proper pointer then tough luck.
                         */
                        put_user(0, tsk->clear_child_tid);
-                       sys_futex(tsk->clear_child_tid, FUTEX_WAKE,
-                                       1, NULL, NULL, 0);
+                       do_futex(tsk->clear_child_tid, FUTEX_WAKE,
+                                       1, NULL, NULL, 0, 0);
                }
                tsk->clear_child_tid = NULL;
        }
-- 
2.16.2

Reply via email to