Lines Matching refs:uaddr
15 #define unsafe_atomic_op1(insn, oval, uaddr, oparg, label) \ argument
25 : "=r" (oldval), "=r" (ret), "+m" (*uaddr) \
33 #define unsafe_atomic_op2(insn, oval, uaddr, oparg, label) \ argument
49 "+m" (*uaddr), "=&r" (tem) \
57 u32 __user *uaddr) in arch_futex_atomic_op_inuser() argument
59 if (!user_access_begin(uaddr, sizeof(u32))) in arch_futex_atomic_op_inuser()
64 unsafe_atomic_op1("xchgl %0, %2", oval, uaddr, oparg, Efault); in arch_futex_atomic_op_inuser()
68 uaddr, oparg, Efault); in arch_futex_atomic_op_inuser()
71 unsafe_atomic_op2("orl %4, %3", oval, uaddr, oparg, Efault); in arch_futex_atomic_op_inuser()
74 unsafe_atomic_op2("andl %4, %3", oval, uaddr, ~oparg, Efault); in arch_futex_atomic_op_inuser()
77 unsafe_atomic_op2("xorl %4, %3", oval, uaddr, oparg, Efault); in arch_futex_atomic_op_inuser()
90 static inline int futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, in futex_atomic_cmpxchg_inatomic() argument
95 if (!user_access_begin(uaddr, sizeof(u32))) in futex_atomic_cmpxchg_inatomic()
105 : "+r" (ret), "=a" (oldval), "+m" (*uaddr) in futex_atomic_cmpxchg_inatomic()