From: Andrew Morton It was dumb to make get_task_comm() return void. Change it to return a pointer to the resulting output for caller convenience. Cc: Ulrich Drepper Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton --- fs/exec.c | 3 ++- include/linux/sched.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff -puN fs/exec.c~get_task_comm-return-the-result fs/exec.c --- a/fs/exec.c~get_task_comm-return-the-result +++ a/fs/exec.c @@ -947,12 +947,13 @@ static void flush_old_files(struct files spin_unlock(&files->file_lock); } -void get_task_comm(char *buf, struct task_struct *tsk) +char *get_task_comm(char *buf, struct task_struct *tsk) { /* buf must be at least sizeof(tsk->comm) in size */ task_lock(tsk); strncpy(buf, tsk->comm, sizeof(tsk->comm)); task_unlock(tsk); + return buf; } void set_task_comm(struct task_struct *tsk, char *buf) diff -puN include/linux/sched.h~get_task_comm-return-the-result include/linux/sched.h --- a/include/linux/sched.h~get_task_comm-return-the-result +++ a/include/linux/sched.h @@ -1701,7 +1701,7 @@ extern long do_fork(unsigned long, unsig struct task_struct *fork_idle(int); extern void set_task_comm(struct task_struct *tsk, char *from); -extern void get_task_comm(char *to, struct task_struct *tsk); +extern char *get_task_comm(char *to, struct task_struct *tsk); #ifdef CONFIG_SMP extern void wait_task_inactive(struct task_struct * p); _