• Home
  • Raw
  • Download

Lines Matching refs:uaddr

238 get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, int rw)  in get_futex_key()  argument
240 unsigned long address = (unsigned long)uaddr; in get_futex_key()
261 if (unlikely(!access_ok(VERIFY_WRITE, uaddr, sizeof(u32)))) in get_futex_key()
397 static int fault_in_user_writeable(u32 __user *uaddr) in fault_in_user_writeable() argument
403 ret = fixup_user_fault(current, mm, (unsigned long)uaddr, in fault_in_user_writeable()
429 static int cmpxchg_futex_value_locked(u32 *curval, u32 __user *uaddr, in cmpxchg_futex_value_locked() argument
435 ret = futex_atomic_cmpxchg_inatomic(curval, uaddr, uval, newval); in cmpxchg_futex_value_locked()
806 static int futex_lock_pi_atomic(u32 __user *uaddr, struct futex_hash_bucket *hb, in futex_lock_pi_atomic() argument
826 if (unlikely(cmpxchg_futex_value_locked(&curval, uaddr, 0, newval))) in futex_lock_pi_atomic()
870 if (unlikely(cmpxchg_futex_value_locked(&curval, uaddr, uval, newval))) in futex_lock_pi_atomic()
900 if (get_futex_value_locked(&curval, uaddr)) in futex_lock_pi_atomic()
972 static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this) in wake_futex_pi() argument
1007 if (cmpxchg_futex_value_locked(&curval, uaddr, uval, newval)) in wake_futex_pi()
1033 static int unlock_futex_pi(u32 __user *uaddr, u32 uval) in unlock_futex_pi() argument
1041 if (cmpxchg_futex_value_locked(&oldval, uaddr, uval, 0)) in unlock_futex_pi()
1077 futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) in futex_wake() argument
1088 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, VERIFY_READ); in futex_wake()
1718 static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in fixup_pi_state_owner() argument
1749 if (get_futex_value_locked(&uval, uaddr)) in fixup_pi_state_owner()
1755 if (cmpxchg_futex_value_locked(&curval, uaddr, uval, newval)) in fixup_pi_state_owner()
1794 ret = fault_in_user_writeable(uaddr); in fixup_pi_state_owner()
1827 static int fixup_owner(u32 __user *uaddr, struct futex_q *q, int locked) in fixup_owner() argument
1838 ret = fixup_pi_state_owner(uaddr, q, current); in fixup_owner()
1867 ret = fixup_pi_state_owner(uaddr, q, owner); in fixup_owner()
1943 static int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags, in futex_wait_setup() argument
1968 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q->key, VERIFY_READ); in futex_wait_setup()
1975 ret = get_futex_value_locked(&uval, uaddr); in futex_wait_setup()
1980 ret = get_user(uval, uaddr); in futex_wait_setup()
2002 static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, in futex_wait() argument
2031 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait()
2060 restart->futex.uaddr = uaddr; in futex_wait()
2079 u32 __user *uaddr = restart->futex.uaddr; in futex_wait_restart() local
2088 return (long)futex_wait(uaddr, restart->futex.flags, in futex_wait_restart()
2099 static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, int detect, in futex_lock_pi() argument
2119 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q.key, VERIFY_WRITE); in futex_lock_pi()
2126 ret = futex_lock_pi_atomic(uaddr, hb, &q.key, &q.pi_state, current, 0); in futex_lock_pi()
2171 res = fixup_owner(uaddr, &q, !ret); in futex_lock_pi()
2204 ret = fault_in_user_writeable(uaddr); in futex_lock_pi()
2220 static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) in futex_unlock_pi() argument
2230 if (get_user(uval, uaddr)) in futex_unlock_pi()
2238 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, VERIFY_WRITE); in futex_unlock_pi()
2252 cmpxchg_futex_value_locked(&uval, uaddr, vpid, 0)) in futex_unlock_pi()
2270 ret = wake_futex_pi(uaddr, uval, this); in futex_unlock_pi()
2283 ret = unlock_futex_pi(uaddr, uval); in futex_unlock_pi()
2298 ret = fault_in_user_writeable(uaddr); in futex_unlock_pi()
2393 static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, in futex_wait_requeue_pi() argument
2405 if (uaddr == uaddr2) in futex_wait_requeue_pi()
2440 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait_requeue_pi()
2626 int handle_futex_death(u32 __user *uaddr, struct task_struct *curr, int pi) in handle_futex_death() argument
2631 if (get_user(uval, uaddr)) in handle_futex_death()
2655 if (cmpxchg_futex_value_locked(&nval, uaddr, uval, mval)) { in handle_futex_death()
2656 if (fault_in_user_writeable(uaddr)) in handle_futex_death()
2668 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); in handle_futex_death()
2760 long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout, in do_futex() argument
2789 return futex_wait(uaddr, flags, val, timeout, val3); in do_futex()
2793 return futex_wake(uaddr, flags, val, val3); in do_futex()
2795 return futex_requeue(uaddr, flags, uaddr2, val, val2, NULL, 0); in do_futex()
2797 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 0); in do_futex()
2799 return futex_wake_op(uaddr, flags, uaddr2, val, val2, val3); in do_futex()
2801 return futex_lock_pi(uaddr, flags, val, timeout, 0); in do_futex()
2803 return futex_unlock_pi(uaddr, flags); in do_futex()
2805 return futex_lock_pi(uaddr, flags, 0, timeout, 1); in do_futex()
2808 return futex_wait_requeue_pi(uaddr, flags, val, timeout, val3, in do_futex()
2811 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1); in do_futex()
2817 SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, in SYSCALL_DEFINE6() argument
2847 return do_futex(uaddr, op, val, tp, uaddr2, val2, val3); in SYSCALL_DEFINE6()