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 <[email protected]>
CC: Ingo Molnar <[email protected]>
CC: Peter Zijlstra <[email protected]>
CC: Darren Hart <[email protected]>
CC: Andrew Morton <[email protected]>
Signed-off-by: Dominik Brodowski <[email protected]>
---
 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