__strncpy_from_user — Copy a NUL terminated string from userspace, with less checking.
Destination address, in kernel space. This buffer must be at least count bytes long.
Source address, in user space.
Maximum number of bytes to copy, including the trailing NUL.
Copies a NUL-terminated string from userspace to kernel space. Caller must check the specified block with access_ok before calling this function.
On success, returns the length of the string (not including the trailing NUL).
If access to userspace fails, returns -EFAULT (some data may have been copied).
If count is smaller than the length of the string, copies count bytes and returns count.