Lines Matching refs:ptr
143 #define __put_user(x, ptr) \
145 __typeof__(*(ptr)) __x = (x); \
147 __chk_user_ptr(ptr); \
148 switch (sizeof (*(ptr))) { \
153 __pu_err = __put_user_fn(sizeof (*(ptr)), \
154 ptr, &__x); \
163 #define put_user(x, ptr) \
165 void __user *__p = (ptr); \
167 access_ok(__p, sizeof(*ptr)) ? \
168 __put_user((x), ((__typeof__(*(ptr)) __user *)__p)) : \
174 static inline int __put_user_fn(size_t size, void __user *ptr, void *x)
176 return unlikely(raw_copy_to_user(ptr, x, size)) ? -EFAULT : 0;
185 #define __get_user(x, ptr) \
188 __chk_user_ptr(ptr); \
189 switch (sizeof(*(ptr))) { \
192 __gu_err = __get_user_fn(sizeof (*(ptr)), \
193 ptr, &__x); \
194 (x) = *(__force __typeof__(*(ptr)) *) &__x; \
199 __gu_err = __get_user_fn(sizeof (*(ptr)), \
200 ptr, &__x); \
201 (x) = *(__force __typeof__(*(ptr)) *) &__x; \
206 __gu_err = __get_user_fn(sizeof (*(ptr)), \
207 ptr, &__x); \
208 (x) = *(__force __typeof__(*(ptr)) *) &__x; \
213 __gu_err = __get_user_fn(sizeof (*(ptr)), \
214 ptr, &__x); \
215 (x) = *(__force __typeof__(*(ptr)) *) &__x; \
225 #define get_user(x, ptr) \
227 const void __user *__p = (ptr); \
229 access_ok(__p, sizeof(*ptr)) ? \
230 __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
231 ((x) = (__typeof__(*(ptr)))0,-EFAULT); \
235 static inline int __get_user_fn(size_t size, const void __user *ptr, void *x)
237 return unlikely(raw_copy_from_user(x, ptr, size)) ? -EFAULT : 0;