exec: Make sure task->comm is always NUL-terminated
Using strscpy() meant that the final character in task->comm may be non-NUL for a moment before the "string too long" truncation happens. Instead of adding a new use of the ambiguous strncpy(), we'd want to use memtostr_pad() which enforces being able to check at compile time that sizes are sensible, but this requires being able to see string buffer lengths. Instead of trying to inline __set_task_comm() (which needs to call trace and perf functions), just open-code it. But to make sure we're always safe, add compile-time checking like we already do for get_task_comm(). Suggested-by:Linus Torvalds <torvalds@linux-foundation.org> Suggested-by:
"Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by:
Kees Cook <kees@kernel.org>
Loading
Please register or sign in to comment