• Home
  • Raw
  • Download

Lines Matching refs:uaddr

543 static int get_futex_key(u32 __user *uaddr, bool fshared, union futex_key *key,  in get_futex_key()  argument
546 unsigned long address = (unsigned long)uaddr; in get_futex_key()
560 if (unlikely(!access_ok(uaddr, sizeof(u32)))) in get_futex_key()
742 static int fault_in_user_writeable(u32 __user *uaddr) in fault_in_user_writeable() argument
748 ret = fixup_user_fault(mm, (unsigned long)uaddr, in fault_in_user_writeable()
774 static int cmpxchg_futex_value_locked(u32 *curval, u32 __user *uaddr, in cmpxchg_futex_value_locked() argument
780 ret = futex_atomic_cmpxchg_inatomic(curval, uaddr, uval, newval); in cmpxchg_futex_value_locked()
1072 static int attach_to_pi_state(u32 __user *uaddr, u32 uval, in attach_to_pi_state() argument
1112 if (get_futex_value_locked(&uval2, uaddr)) in attach_to_pi_state()
1221 static int handle_exit_race(u32 __user *uaddr, u32 uval, in handle_exit_race() argument
1262 if (get_futex_value_locked(&uval2, uaddr)) in handle_exit_race()
1311 static int attach_to_pi_owner(u32 __user *uaddr, u32 uval, union futex_key *key, in attach_to_pi_owner() argument
1329 return handle_exit_race(uaddr, uval, NULL); in attach_to_pi_owner()
1348 int ret = handle_exit_race(uaddr, uval, p); in attach_to_pi_owner()
1375 static int lock_pi_update_atomic(u32 __user *uaddr, u32 uval, u32 newval) in lock_pi_update_atomic() argument
1383 err = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); in lock_pi_update_atomic()
1415 static int futex_lock_pi_atomic(u32 __user *uaddr, struct futex_hash_bucket *hb, in futex_lock_pi_atomic() argument
1430 if (get_futex_value_locked(&uval, uaddr)) in futex_lock_pi_atomic()
1451 return attach_to_pi_state(uaddr, uval, top_waiter->pi_state, ps); in futex_lock_pi_atomic()
1471 ret = lock_pi_update_atomic(uaddr, uval, newval); in futex_lock_pi_atomic()
1500 ret = lock_pi_update_atomic(uaddr, uval, newval); in futex_lock_pi_atomic()
1508 return attach_to_pi_owner(uaddr, newval, key, ps, exiting); in futex_lock_pi_atomic()
1564 static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_state) in wake_futex_pi() argument
1601 ret = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); in wake_futex_pi()
1662 futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) in futex_wake() argument
1674 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_READ); in futex_wake()
1711 static int futex_atomic_op_inuser(unsigned int encoded_op, u32 __user *uaddr) in futex_atomic_op_inuser() argument
1734 ret = arch_futex_atomic_op_inuser(op, oparg, &oldval, uaddr); in futex_atomic_op_inuser()
2598 static int __fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in __fixup_pi_state_owner() argument
2680 err = get_futex_value_locked(&uval, uaddr); in __fixup_pi_state_owner()
2687 err = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); in __fixup_pi_state_owner()
2723 err = fault_in_user_writeable(uaddr); in __fixup_pi_state_owner()
2770 static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in fixup_pi_state_owner() argument
2779 ret = __fixup_pi_state_owner(uaddr, q, argowner); in fixup_pi_state_owner()
2801 static int fixup_owner(u32 __user *uaddr, struct futex_q *q, int locked) in fixup_owner() argument
2813 return fixup_pi_state_owner(uaddr, q, current); in fixup_owner()
2826 return fixup_pi_state_owner(uaddr, q, NULL); in fixup_owner()
2833 return fixup_pi_state_owner(uaddr, q, current); in fixup_owner()
2894 static int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags, in futex_wait_setup() argument
2919 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q->key, FUTEX_READ); in futex_wait_setup()
2926 ret = get_futex_value_locked(&uval, uaddr); in futex_wait_setup()
2931 ret = get_user(uval, uaddr); in futex_wait_setup()
2949 static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, in futex_wait() argument
2970 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait()
2997 restart->futex.uaddr = uaddr; in futex_wait()
3017 u32 __user *uaddr = restart->futex.uaddr; in futex_wait_restart() local
3026 return (long)futex_wait(uaddr, restart->futex.flags, in futex_wait_restart()
3040 static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, in futex_lock_pi() argument
3059 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q.key, FUTEX_WRITE); in futex_lock_pi()
3066 ret = futex_lock_pi_atomic(uaddr, hb, &q.key, &q.pi_state, current, in futex_lock_pi()
3171 res = fixup_owner(uaddr, &q, !ret); in futex_lock_pi()
3196 ret = fault_in_user_writeable(uaddr); in futex_lock_pi()
3211 static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) in futex_unlock_pi() argument
3223 if (get_user(uval, uaddr)) in futex_unlock_pi()
3231 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_WRITE); in futex_unlock_pi()
3273 ret = wake_futex_pi(uaddr, uval, pi_state); in futex_unlock_pi()
3308 if ((ret = cmpxchg_futex_value_locked(&curval, uaddr, uval, 0))) { in futex_unlock_pi()
3338 ret = fault_in_user_writeable(uaddr); in futex_unlock_pi()
3428 static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, in futex_wait_requeue_pi() argument
3443 if (uaddr == uaddr2) in futex_wait_requeue_pi()
3470 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait_requeue_pi()
3653 static int handle_futex_death(u32 __user *uaddr, struct task_struct *curr, in handle_futex_death() argument
3661 if ((((unsigned long)uaddr) % sizeof(*uaddr)) != 0) in handle_futex_death()
3665 if (get_user(uval, uaddr)) in handle_futex_death()
3707 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); in handle_futex_death()
3735 if ((err = cmpxchg_futex_value_locked(&nval, uaddr, uval, mval))) { in handle_futex_death()
3738 if (fault_in_user_writeable(uaddr)) in handle_futex_death()
3760 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); in handle_futex_death()
3962 long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout, in do_futex() argument
3995 return futex_wait(uaddr, flags, val, timeout, val3); in do_futex()
4000 return futex_wake(uaddr, flags, val, val3); in do_futex()
4002 return futex_requeue(uaddr, flags, uaddr2, val, val2, NULL, 0); in do_futex()
4004 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 0); in do_futex()
4006 return futex_wake_op(uaddr, flags, uaddr2, val, val2, val3); in do_futex()
4011 return futex_lock_pi(uaddr, flags, timeout, 0); in do_futex()
4013 return futex_unlock_pi(uaddr, flags); in do_futex()
4015 return futex_lock_pi(uaddr, flags, NULL, 1); in do_futex()
4018 return futex_wait_requeue_pi(uaddr, flags, val, timeout, val3, in do_futex()
4021 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1); in do_futex()
4053 SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, in SYSCALL_DEFINE6() argument
4072 return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3); in SYSCALL_DEFINE6()
4096 void __user *uaddr = compat_ptr(base + futex_offset); in futex_uaddr() local
4098 return uaddr; in futex_uaddr()
4152 void __user *uaddr = futex_uaddr(entry, futex_offset); in compat_exit_robust_list() local
4154 if (handle_futex_death(uaddr, curr, pi, in compat_exit_robust_list()
4172 void __user *uaddr = futex_uaddr(pending, futex_offset); in compat_exit_robust_list() local
4174 handle_futex_death(uaddr, curr, pip, HANDLE_DEATH_PENDING); in compat_exit_robust_list()
4234 SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, in SYSCALL_DEFINE6() argument
4251 return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3); in SYSCALL_DEFINE6()