Lines Matching refs:ptr

173 #define get_user(x, ptr)						\  argument
176 register __inttype(*(ptr)) __val_gu asm("%"_ASM_DX); \
177 __chk_user_ptr(ptr); \
181 : "0" (ptr), "i" (sizeof(*(ptr)))); \
182 (x) = (__force __typeof__(*(ptr))) __val_gu; \
186 #define __put_user_x(size, x, ptr, __ret_pu) \ argument
188 : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
216 #define __put_user_x8(x, ptr, __ret_pu) \ argument
218 : "A" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
220 #define __put_user_asm_u64(x, ptr, retval, errret) \ argument
221 __put_user_asm(x, ptr, retval, "q", "", "er", errret)
224 #define __put_user_x8(x, ptr, __ret_pu) __put_user_x(8, x, ptr, __ret_pu) argument
254 #define put_user(x, ptr) \ argument
257 __typeof__(*(ptr)) __pu_val; \
258 __chk_user_ptr(ptr); \
261 switch (sizeof(*(ptr))) { \
263 __put_user_x(1, __pu_val, ptr, __ret_pu); \
266 __put_user_x(2, __pu_val, ptr, __ret_pu); \
269 __put_user_x(4, __pu_val, ptr, __ret_pu); \
272 __put_user_x8(__pu_val, ptr, __ret_pu); \
275 __put_user_x(X, __pu_val, ptr, __ret_pu); \
281 #define __put_user_size(x, ptr, size, retval, errret) \ argument
284 __chk_user_ptr(ptr); \
287 __put_user_asm(x, ptr, retval, "b", "b", "iq", errret); \
290 __put_user_asm(x, ptr, retval, "w", "w", "ir", errret); \
293 __put_user_asm(x, ptr, retval, "l", "k", "ir", errret); \
296 __put_user_asm_u64((__typeof__(*ptr))(x), ptr, retval, \
304 #define __put_user_size_ex(x, ptr, size) \ argument
306 __chk_user_ptr(ptr); \
309 __put_user_asm_ex(x, ptr, "b", "b", "iq"); \
312 __put_user_asm_ex(x, ptr, "w", "w", "ir"); \
315 __put_user_asm_ex(x, ptr, "l", "k", "ir"); \
318 __put_user_asm_ex_u64((__typeof__(*ptr))(x), ptr); \
326 #define __get_user_asm_u64(x, ptr, retval, errret) (x) = __get_user_bad() argument
327 #define __get_user_asm_ex_u64(x, ptr) (x) = __get_user_bad() argument
329 #define __get_user_asm_u64(x, ptr, retval, errret) \ argument
330 __get_user_asm(x, ptr, retval, "q", "", "=r", errret)
331 #define __get_user_asm_ex_u64(x, ptr) \ argument
332 __get_user_asm_ex(x, ptr, "q", "", "=r")
335 #define __get_user_size(x, ptr, size, retval, errret) \ argument
338 __chk_user_ptr(ptr); \
341 __get_user_asm(x, ptr, retval, "b", "b", "=q", errret); \
344 __get_user_asm(x, ptr, retval, "w", "w", "=r", errret); \
347 __get_user_asm(x, ptr, retval, "l", "k", "=r", errret); \
350 __get_user_asm_u64(x, ptr, retval, errret); \
370 #define __get_user_size_ex(x, ptr, size) \ argument
372 __chk_user_ptr(ptr); \
375 __get_user_asm_ex(x, ptr, "b", "b", "=q"); \
378 __get_user_asm_ex(x, ptr, "w", "w", "=r"); \
381 __get_user_asm_ex(x, ptr, "l", "k", "=r"); \
384 __get_user_asm_ex_u64(x, ptr); \
397 #define __put_user_nocheck(x, ptr, size) \ argument
400 __put_user_size((x), (ptr), (size), __pu_err, -EFAULT); \
404 #define __get_user_nocheck(x, ptr, size) \ argument
408 __get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
409 (x) = (__force __typeof__(*(ptr)))__gu_val; \
474 #define __get_user(x, ptr) \ argument
475 __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
497 #define __put_user(x, ptr) \ argument
498 __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
513 #define get_user_ex(x, ptr) do { \ argument
515 __get_user_size_ex((__gue_val), (ptr), (sizeof(*(ptr)))); \
516 (x) = (__force __typeof__(*(ptr)))__gue_val; \
522 #define put_user_ex(x, ptr) \ argument
523 __put_user_size_ex((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
539 #define __user_atomic_cmpxchg_inatomic(uval, ptr, old, new, size) \ argument
542 __typeof__(ptr) __uval = (uval); \
543 __typeof__(*(ptr)) __old = (old); \
544 __typeof__(*(ptr)) __new = (new); \
556 : "+r" (__ret), "=a" (__old), "+m" (*(ptr)) \
572 : "+r" (__ret), "=a" (__old), "+m" (*(ptr)) \
588 : "+r" (__ret), "=a" (__old), "+m" (*(ptr)) \
607 : "+r" (__ret), "=a" (__old), "+m" (*(ptr)) \
620 #define user_atomic_cmpxchg_inatomic(uval, ptr, old, new) \ argument
622 access_ok(VERIFY_WRITE, (ptr), sizeof(*(ptr))) ? \
623 __user_atomic_cmpxchg_inatomic((uval), (ptr), \
624 (old), (new), sizeof(*(ptr))) : \