Lines Matching refs:uaddr
25 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
29 prefetchw(uaddr); \
40 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
46 futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
53 if (!access_ok(uaddr, sizeof(u32)))
58 prefetchw(uaddr);
70 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
84 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
94 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
100 futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
107 if (!access_ok(uaddr, sizeof(u32)))
120 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
133 arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr)
137 if (!access_ok(uaddr, sizeof(u32)))
146 __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg);
149 __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
152 __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
155 __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg);
158 __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg);