The patch titled Subject: fs/exec: replace strncpy with strscpy_pad in __get_task_comm has been added to the -mm tree. Its filename is fs-exec-replace-strncpy-with-strscpy_pad-in-__get_task_comm.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/fs-exec-replace-strncpy-with-strscpy_pad-in-__get_task_comm.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/fs-exec-replace-strncpy-with-strscpy_pad-in-__get_task_comm.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Yafang Shao <laoar.shao@xxxxxxxxx> Subject: fs/exec: replace strncpy with strscpy_pad in __get_task_comm If the dest buffer size is smaller than sizeof(tsk->comm), the buffer will be without null ternimator, that may cause problem. Using strscpy_pad() instead of strncpy() in __get_task_comm() can make the string always nul ternimated and zero padded. Link: https://lkml.kernel.org/r/20211120112738.45980-3-laoar.shao@xxxxxxxxx Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx> Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> Cc: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> Cc: Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> Cc: Michal Miroslaw <mirq-linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxxx> Cc: Andrii Nakryiko <andrii@xxxxxxxxxx> Cc: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/exec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/fs/exec.c~fs-exec-replace-strncpy-with-strscpy_pad-in-__get_task_comm +++ a/fs/exec.c @@ -1207,7 +1207,8 @@ static int unshare_sighand(struct task_s char *__get_task_comm(char *buf, size_t buf_size, struct task_struct *tsk) { task_lock(tsk); - strncpy(buf, tsk->comm, buf_size); + /* Always NUL terminated and zero-padded */ + strscpy_pad(buf, tsk->comm, buf_size); task_unlock(tsk); return buf; } _ Patches currently in -mm which might be from laoar.shao@xxxxxxxxx are fs-exec-replace-strlcpy-with-strscpy_pad-in-__set_task_comm.patch fs-exec-replace-strncpy-with-strscpy_pad-in-__get_task_comm.patch drivers-infiniband-replace-open-coded-string-copy-with-get_task_comm.patch fs-binfmt_elf-replace-open-coded-string-copy-with-get_task_comm.patch samples-bpf-test_overhead_kprobe_kern-replace-bpf_probe_read_kernel-with-bpf_probe_read_kernel_str-to-get-task-comm.patch tools-bpf-bpftool-skeleton-replace-bpf_probe_read_kernel-with-bpf_probe_read_kernel_str-to-get-task-comm.patch tools-testing-selftests-bpf-replace-open-coded-16-with-task_comm_len.patch