Lines Matching refs:uaddr
23 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
27 prefetchw(uaddr); \
38 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
44 futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
51 if (!access_ok(uaddr, sizeof(u32)))
56 prefetchw(uaddr);
68 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
82 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
92 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
98 futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
105 if (!access_ok(uaddr, sizeof(u32)))
118 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
131 arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr)
135 if (!access_ok(uaddr, sizeof(u32)))
144 __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg);
147 __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
150 __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
153 __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg);
156 __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg);