Re: [PATCH v2 1/6] uaccess: Add copy_from_user_nul helper

From: Fushuai Wang

Date: Mon Jan 12 2026 - 05:01:19 EST


>> From: Fushuai Wang <wangfushuai@xxxxxxxxx>
>>
>> Many places call copy_from_user() to copy a buffer from user space,
>> and then manually add a NULL terminator to the destination buffer,
>> e.g.:
>>
>> if (copy_from_user(dest, src, len))
>> return -EFAULT;
>> dest[len] = '\0';
>>
>> This is repetitive and error-prone. Add a copy_from_user_nul() helper to
>> simplify such patterns. It copied n bytes from user space to kernel space,
>> and NUL-terminates the destination buffer.
>>
>> Signed-off-by: Fushuai Wang <wangfushuai@xxxxxxxxx>
>
> Hmm, this function is very very similar to strncpy_from_user(). Should
> they be using that instead?
>
> Alice

The strncpy_from_user() is for NUL-terminated strings and stops at the
first NUL in userspace. But copy_from_user_nul() always copies a fixed length
and adds a NUL at the end in kernel space, even if userspace data doesn’t
contain a NUL.

So I think they are for different cases and can’t replace each other.

---
Regards,
WANG