• Home
  • Raw
  • Download

Lines Matching refs:uaddr

527 get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, enum futex_access rw)  in get_futex_key()  argument
529 unsigned long address = (unsigned long)uaddr; in get_futex_key()
543 if (unlikely(!access_ok(uaddr, sizeof(u32)))) in get_futex_key()
751 static int fault_in_user_writeable(u32 __user *uaddr) in fault_in_user_writeable() argument
757 ret = fixup_user_fault(current, mm, (unsigned long)uaddr, in fault_in_user_writeable()
783 static int cmpxchg_futex_value_locked(u32 *curval, u32 __user *uaddr, in cmpxchg_futex_value_locked() argument
789 ret = futex_atomic_cmpxchg_inatomic(curval, uaddr, uval, newval); in cmpxchg_futex_value_locked()
1061 static int attach_to_pi_state(u32 __user *uaddr, u32 uval, in attach_to_pi_state() argument
1101 if (get_futex_value_locked(&uval2, uaddr)) in attach_to_pi_state()
1209 static int handle_exit_race(u32 __user *uaddr, u32 uval, in handle_exit_race() argument
1250 if (get_futex_value_locked(&uval2, uaddr)) in handle_exit_race()
1269 static int attach_to_pi_owner(u32 __user *uaddr, u32 uval, union futex_key *key, in attach_to_pi_owner() argument
1288 return handle_exit_race(uaddr, uval, NULL); in attach_to_pi_owner()
1307 int ret = handle_exit_race(uaddr, uval, p); in attach_to_pi_owner()
1359 static int lookup_pi_state(u32 __user *uaddr, u32 uval, in lookup_pi_state() argument
1371 return attach_to_pi_state(uaddr, uval, top_waiter->pi_state, ps); in lookup_pi_state()
1377 return attach_to_pi_owner(uaddr, uval, key, ps, exiting); in lookup_pi_state()
1380 static int lock_pi_update_atomic(u32 __user *uaddr, u32 uval, u32 newval) in lock_pi_update_atomic() argument
1388 err = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); in lock_pi_update_atomic()
1420 static int futex_lock_pi_atomic(u32 __user *uaddr, struct futex_hash_bucket *hb, in futex_lock_pi_atomic() argument
1435 if (get_futex_value_locked(&uval, uaddr)) in futex_lock_pi_atomic()
1456 return attach_to_pi_state(uaddr, uval, top_waiter->pi_state, ps); in futex_lock_pi_atomic()
1476 ret = lock_pi_update_atomic(uaddr, uval, newval); in futex_lock_pi_atomic()
1487 ret = lock_pi_update_atomic(uaddr, uval, newval); in futex_lock_pi_atomic()
1495 return attach_to_pi_owner(uaddr, newval, key, ps, exiting); in futex_lock_pi_atomic()
1551 static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_state) in wake_futex_pi() argument
1583 ret = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); in wake_futex_pi()
1655 futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) in futex_wake() argument
1666 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_READ); in futex_wake()
1703 static int futex_atomic_op_inuser(unsigned int encoded_op, u32 __user *uaddr) in futex_atomic_op_inuser() argument
1725 if (!access_ok(uaddr, sizeof(u32))) in futex_atomic_op_inuser()
1728 ret = arch_futex_atomic_op_inuser(op, oparg, &oldval, uaddr); in futex_atomic_op_inuser()
2439 static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, in fixup_pi_state_owner() argument
2517 err = get_futex_value_locked(&uval, uaddr); in fixup_pi_state_owner()
2524 err = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); in fixup_pi_state_owner()
2573 ret = fault_in_user_writeable(uaddr); in fixup_pi_state_owner()
2625 static int fixup_owner(u32 __user *uaddr, struct futex_q *q, int locked) in fixup_owner() argument
2639 ret = fixup_pi_state_owner(uaddr, q, current); in fixup_owner()
2652 ret = fixup_pi_state_owner(uaddr, q, NULL); in fixup_owner()
2726 static int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags, in futex_wait_setup() argument
2751 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q->key, FUTEX_READ); in futex_wait_setup()
2758 ret = get_futex_value_locked(&uval, uaddr); in futex_wait_setup()
2763 ret = get_user(uval, uaddr); in futex_wait_setup()
2785 static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, in futex_wait() argument
2805 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait()
2834 restart->futex.uaddr = uaddr; in futex_wait()
2853 u32 __user *uaddr = restart->futex.uaddr; in futex_wait_restart() local
2862 return (long)futex_wait(uaddr, restart->futex.flags, in futex_wait_restart()
2876 static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, in futex_lock_pi() argument
2896 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q.key, FUTEX_WRITE); in futex_lock_pi()
2903 ret = futex_lock_pi_atomic(uaddr, hb, &q.key, &q.pi_state, current, in futex_lock_pi()
3009 res = fixup_owner(uaddr, &q, !ret); in futex_lock_pi()
3051 ret = fault_in_user_writeable(uaddr); in futex_lock_pi()
3067 static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) in futex_unlock_pi() argument
3079 if (get_user(uval, uaddr)) in futex_unlock_pi()
3087 ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_WRITE); in futex_unlock_pi()
3129 ret = wake_futex_pi(uaddr, uval, pi_state); in futex_unlock_pi()
3164 if ((ret = cmpxchg_futex_value_locked(&curval, uaddr, uval, 0))) { in futex_unlock_pi()
3198 ret = fault_in_user_writeable(uaddr); in futex_unlock_pi()
3294 static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, in futex_wait_requeue_pi() argument
3309 if (uaddr == uaddr2) in futex_wait_requeue_pi()
3336 ret = futex_wait_setup(uaddr, val, flags, &q, &hb); in futex_wait_requeue_pi()
3549 static int handle_futex_death(u32 __user *uaddr, struct task_struct *curr, in handle_futex_death() argument
3556 if ((((unsigned long)uaddr) % sizeof(*uaddr)) != 0) in handle_futex_death()
3560 if (get_user(uval, uaddr)) in handle_futex_death()
3595 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); in handle_futex_death()
3623 if ((err = cmpxchg_futex_value_locked(&nval, uaddr, uval, mval))) { in handle_futex_death()
3626 if (fault_in_user_writeable(uaddr)) in handle_futex_death()
3648 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); in handle_futex_death()
3850 long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout, in do_futex() argument
3881 return futex_wait(uaddr, flags, val, timeout, val3); in do_futex()
3886 return futex_wake(uaddr, flags, val, val3); in do_futex()
3888 return futex_requeue(uaddr, flags, uaddr2, val, val2, NULL, 0); in do_futex()
3890 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 0); in do_futex()
3892 return futex_wake_op(uaddr, flags, uaddr2, val, val2, val3); in do_futex()
3894 return futex_lock_pi(uaddr, flags, timeout, 0); in do_futex()
3896 return futex_unlock_pi(uaddr, flags); in do_futex()
3898 return futex_lock_pi(uaddr, flags, NULL, 1); in do_futex()
3901 return futex_wait_requeue_pi(uaddr, flags, val, timeout, val3, in do_futex()
3904 return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1); in do_futex()
3910 SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, in SYSCALL_DEFINE6() argument
3942 return do_futex(uaddr, op, val, tp, uaddr2, val2, val3); in SYSCALL_DEFINE6()
3966 void __user *uaddr = compat_ptr(base + futex_offset); in futex_uaddr() local
3968 return uaddr; in futex_uaddr()
4022 void __user *uaddr = futex_uaddr(entry, futex_offset); in compat_exit_robust_list() local
4024 if (handle_futex_death(uaddr, curr, pi, in compat_exit_robust_list()
4042 void __user *uaddr = futex_uaddr(pending, futex_offset); in compat_exit_robust_list() local
4044 handle_futex_death(uaddr, curr, pip, HANDLE_DEATH_PENDING); in compat_exit_robust_list()
4104 SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, in SYSCALL_DEFINE6() argument
4130 return do_futex(uaddr, op, val, tp, uaddr2, val2, val3); in SYSCALL_DEFINE6()