Lines Matching refs:uaddr

500 get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, int rw)  in get_futex_key()  argument
502 unsigned long address = (unsigned long)uaddr; in get_futex_key()
516 if (unlikely(!access_ok(rw, uaddr, sizeof(u32)))) in get_futex_key()
724 static int fault_in_user_writeable(u32 __user *uaddr) in fault_in_user_writeable() argument
730 ret = fixup_user_fault(current, mm, (unsigned long)uaddr, in fault_in_user_writeable()
756 static int cmpxchg_futex_value_locked(u32 *curval, u32 __user *uaddr, in cmpxchg_futex_value_locked() argument
762 ret = futex_atomic_cmpxchg_inatomic(curval, uaddr, uval, newval); in cmpxchg_futex_value_locked()
1033 static int attach_to_pi_state(u32 __user *uaddr, u32 uval, in attach_to_pi_state() argument
1073 if (get_futex_value_locked(&uval2, uaddr)) in attach_to_pi_state()
1230 static int lookup_pi_state(u32 __user *uaddr, u32 uval, in lookup_pi_state() argument
1241 return attach_to_pi_state(uaddr, uval, top_waiter->pi_state, ps); in lookup_pi_state()
1250 static int lock_pi_update_atomic(u32 __user *uaddr, u32 uval, u32 newval) in lock_pi_update_atomic() argument
1257 if (unlikely(cmpxchg_futex_value_locked(&curval, uaddr, uval, newval))) in lock_pi_update_atomic()
1282 static int futex_lock_pi_atomic(u32 __user *uaddr, struct futex_hash_bucket *hb, in futex_lock_pi_atomic() argument
1295 if (get_futex_value_locked(&uval, uaddr)) in futex_lock_pi_atomic()
1316 return attach_to_pi_state(uaddr, uval, top_waiter->pi_state, ps); in futex_lock_pi_atomic()
1336 ret = lock_pi_update_atomic(uaddr, uval, newval); in futex_lock_pi_atomic()
1347 ret = lock_pi_update_atomic(uaddr, uval, newval); in futex_lock_pi_atomic()
1409 static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_state) in wake_futex_pi() argument
1441 if (cmpxchg_futex_value_locked(&curval, uaddr, uval, newval)) { in wake_futex_pi()
1515 futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) in futex_wake() argument
1526 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, VERIFY_READ); in futex_wake()
1563 static int futex_atomic_op_inuser(unsigned int encoded_op, u32 __user *uaddr) in futex_atomic_op_inuser() argument
1585 if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) in futex_atomic_op_inuser()
1588 ret = arch_futex_atomic_op_inuser(op, oparg, &oldval, uaddr); in futex_atomic_op_inuser()
2282 static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in fixup_pi_state_owner() argument
2360 if (get_futex_value_locked(&uval, uaddr)) in fixup_pi_state_owner()
2366 if (cmpxchg_futex_value_locked(&curval, uaddr, uval, newval)) in fixup_pi_state_owner()
2411 ret = fault_in_user_writeable(uaddr); in fixup_pi_state_owner()
2451 static int fixup_owner(u32 __user *uaddr, struct futex_q *q, int locked) in fixup_owner() argument
2465 ret = fixup_pi_state_owner(uaddr, q, current); in fixup_owner()
2478 ret = fixup_pi_state_owner(uaddr, q, NULL); in fixup_owner()
2552 static int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags, in futex_wait_setup() argument
2577 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q->key, VERIFY_READ); in futex_wait_setup()
2584 ret = get_futex_value_locked(&uval, uaddr); in futex_wait_setup()
2589 ret = get_user(uval, uaddr); in futex_wait_setup()
2611 static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, in futex_wait() argument
2640 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait()
2669 restart->futex.uaddr = uaddr; in futex_wait()
2688 u32 __user *uaddr = restart->futex.uaddr; in futex_wait_restart() local
2697 return (long)futex_wait(uaddr, restart->futex.flags, in futex_wait_restart()
2711 static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, in futex_lock_pi() argument
2736 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q.key, VERIFY_WRITE); in futex_lock_pi()
2743 ret = futex_lock_pi_atomic(uaddr, hb, &q.key, &q.pi_state, current, 0); in futex_lock_pi()
2837 res = fixup_owner(uaddr, &q, !ret); in futex_lock_pi()
2879 ret = fault_in_user_writeable(uaddr); in futex_lock_pi()
2895 static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) in futex_unlock_pi() argument
2907 if (get_user(uval, uaddr)) in futex_unlock_pi()
2915 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, VERIFY_WRITE); in futex_unlock_pi()
2953 ret = wake_futex_pi(uaddr, uval, pi_state); in futex_unlock_pi()
2990 if (cmpxchg_futex_value_locked(&curval, uaddr, uval, 0)) { in futex_unlock_pi()
3009 ret = fault_in_user_writeable(uaddr); in futex_unlock_pi()
3105 static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, in futex_wait_requeue_pi() argument
3120 if (uaddr == uaddr2) in futex_wait_requeue_pi()
3154 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait_requeue_pi()
3363 int handle_futex_death(u32 __user *uaddr, struct task_struct *curr, int pi) in handle_futex_death() argument
3368 if (get_user(uval, uaddr)) in handle_futex_death()
3392 if (cmpxchg_futex_value_locked(&nval, uaddr, uval, mval)) { in handle_futex_death()
3393 if (fault_in_user_writeable(uaddr)) in handle_futex_death()
3405 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); in handle_futex_death()
3497 long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout, in do_futex() argument
3528 return futex_wait(uaddr, flags, val, timeout, val3); in do_futex()
3533 return futex_wake(uaddr, flags, val, val3); in do_futex()
3535 return futex_requeue(uaddr, flags, uaddr2, val, val2, NULL, 0); in do_futex()
3537 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 0); in do_futex()
3539 return futex_wake_op(uaddr, flags, uaddr2, val, val2, val3); in do_futex()
3541 return futex_lock_pi(uaddr, flags, timeout, 0); in do_futex()
3543 return futex_unlock_pi(uaddr, flags); in do_futex()
3545 return futex_lock_pi(uaddr, flags, NULL, 1); in do_futex()
3548 return futex_wait_requeue_pi(uaddr, flags, val, timeout, val3, in do_futex()
3551 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1); in do_futex()
3557 SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, in SYSCALL_DEFINE6() argument
3589 return do_futex(uaddr, op, val, tp, uaddr2, val2, val3); in SYSCALL_DEFINE6()