Lines Matching full:src

17 #define copy_from_kernel_nofault_loop(dst, src, len, type, err_label)	\  argument
19 __get_kernel_nofault(dst, src, type, err_label); \
21 src += sizeof(type); \
25 long copy_from_kernel_nofault(void *dst, const void *src, size_t size) in copy_from_kernel_nofault() argument
30 align = (unsigned long)dst | (unsigned long)src; in copy_from_kernel_nofault()
32 if (!copy_from_kernel_nofault_allowed(src, size)) in copy_from_kernel_nofault()
37 copy_from_kernel_nofault_loop(dst, src, size, u64, Efault); in copy_from_kernel_nofault()
39 copy_from_kernel_nofault_loop(dst, src, size, u32, Efault); in copy_from_kernel_nofault()
41 copy_from_kernel_nofault_loop(dst, src, size, u16, Efault); in copy_from_kernel_nofault()
42 copy_from_kernel_nofault_loop(dst, src, size, u8, Efault); in copy_from_kernel_nofault()
51 #define copy_to_kernel_nofault_loop(dst, src, len, type, err_label) \ argument
53 __put_kernel_nofault(dst, src, type, err_label); \
55 src += sizeof(type); \
59 long copy_to_kernel_nofault(void *dst, const void *src, size_t size) in copy_to_kernel_nofault() argument
64 align = (unsigned long)dst | (unsigned long)src; in copy_to_kernel_nofault()
68 copy_to_kernel_nofault_loop(dst, src, size, u64, Efault); in copy_to_kernel_nofault()
70 copy_to_kernel_nofault_loop(dst, src, size, u32, Efault); in copy_to_kernel_nofault()
72 copy_to_kernel_nofault_loop(dst, src, size, u16, Efault); in copy_to_kernel_nofault()
73 copy_to_kernel_nofault_loop(dst, src, size, u8, Efault); in copy_to_kernel_nofault()
83 const void *src = unsafe_addr; in strncpy_from_kernel_nofault() local
92 __get_kernel_nofault(dst, src, u8, Efault); in strncpy_from_kernel_nofault()
94 src++; in strncpy_from_kernel_nofault()
95 } while (dst[-1] && src - unsafe_addr < count); in strncpy_from_kernel_nofault()
99 return src - unsafe_addr; in strncpy_from_kernel_nofault()
109 * @src: address to read from
112 * Safely read from kernel address @src to the buffer at @dst. If a kernel
113 * fault happens, handle that and return -EFAULT. If @src is not a valid kernel
121 long copy_from_kernel_nofault(void *dst, const void *src, size_t size) in copy_from_kernel_nofault() argument
126 if (!copy_from_kernel_nofault_allowed(src, size)) in copy_from_kernel_nofault()
131 ret = __copy_from_user_inatomic(dst, (__force const void __user *)src, in copy_from_kernel_nofault()
145 * @src: pointer to the data that shall be written
148 * Safely write to address @dst from the buffer at @src. If a kernel fault
151 long copy_to_kernel_nofault(void *dst, const void *src, size_t size) in copy_to_kernel_nofault() argument
158 ret = __copy_to_user_inatomic((__force void __user *)dst, src, size); in copy_to_kernel_nofault()
189 const void *src = unsafe_addr; in strncpy_from_kernel_nofault() local
201 ret = __get_user(*dst++, (const char __user __force *)src++); in strncpy_from_kernel_nofault()
202 } while (dst[-1] && ret == 0 && src - unsafe_addr < count); in strncpy_from_kernel_nofault()
208 return ret ? -EFAULT : src - unsafe_addr; in strncpy_from_kernel_nofault()
215 * @src: address to read from. This must be a user address.
218 * Safely read from user address @src to the buffer at @dst. If a kernel fault
221 long copy_from_user_nofault(void *dst, const void __user *src, size_t size) in copy_from_user_nofault() argument
226 if (access_ok(src, size)) { in copy_from_user_nofault()
228 ret = __copy_from_user_inatomic(dst, src, size); in copy_from_user_nofault()
242 * @src: pointer to the data that shall be written
245 * Safely write to address @dst from the buffer at @src. If a kernel fault
248 long copy_to_user_nofault(void __user *dst, const void *src, size_t size) in copy_to_user_nofault() argument
255 ret = __copy_to_user_inatomic(dst, src, size); in copy_to_user_nofault()