On Fri, Mar 14, 2025 at 10:57:13AM +0530, Bhupesh wrote: > While working with user-space debugging tools which work especially > on linux gaming platforms, I found that the task name is truncated due > to the limitation of TASK_COMM_LEN. > > For example, currently running 'ps', the task->comm value of a long > task name is truncated due to the limitation of TASK_COMM_LEN. > create_very_lon > > This leads to the names passed from userland via pthread_setname_np() > being truncated. So there have been long discussions about "comm", and it mainly boils down to "leave it alone". For the /proc-scraping tools like "ps" and "top", they check both "comm" and "cmdline", depending on mode. The more useful (and already untruncated) stuff is in "cmdline", so I suspect it may make more sense to have pthread_setname_np() interact with that instead. Also TASK_COMM_LEN is basically considered userspace ABI at this point and we can't sanely change its length without breaking the world. Best to use /proc/$pid/task/$tid/cmdline IMO... -Kees > will be shown in 'ps'. For example: > create_very_long_name_user_space_script.sh > > Bhupesh (2): > exec: Dynamically allocate memory to store task's full name > fs/proc: Pass 'task->full_name' via 'proc_task_name()' > > fs/exec.c | 21 ++++++++++++++++++--- > fs/proc/array.c | 2 +- > include/linux/sched.h | 9 +++++++++ > 3 files changed, 28 insertions(+), 4 deletions(-) > > -- > 2.38.1 > -- Kees Cook