On Thu, 5 Mar 2026 16:08:09 +0800
Xuewen Yan <[email protected]> wrote:

> This reverts commit e3f6a42272e028c46695acc83fc7d7c42f2750ad.
> 
> The commit says that the tracepoint only deals with the current task,
> however the following case is not current task:
> 
> comm_write
> set_task_comm
> __set_task_comm
> trace_task_rename

I'm fine with the patch, but the change log can use a bit of work:

  comm_write() {
        p = get_proc_task(inode);
        if (!p)
                return -ESRCH;

        if (same_thread_group(current, p)) {
                set_task_comm(p, buffer);

  where set_task_comm() calls __set_task_comm() which records the update of
  p and not current.

The above states exactly why current isn't the pid that should be recorded.

Other than that.

Reviewed-by: Steven Rostedt (Google) <[email protected]>

-- Steve


> 
> So revert the patch to show pid.
> 
> Fixes: e3f6a42272e0 ("tracing: Remove pid in task_rename tracing output")
> Reported-by: Guohua Yan <[email protected]>
> Signed-off-by: Xuewen Yan <[email protected]>
> ---
>  include/trace/events/task.h | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/include/trace/events/task.h b/include/trace/events/task.h
> index 4f0759634306..b9a129eb54d9 100644
> --- a/include/trace/events/task.h
> +++ b/include/trace/events/task.h
> @@ -38,19 +38,22 @@ TRACE_EVENT(task_rename,
>       TP_ARGS(task, comm),
>  
>       TP_STRUCT__entry(
> +             __field(        pid_t,  pid)
>               __array(        char, oldcomm,  TASK_COMM_LEN)
>               __array(        char, newcomm,  TASK_COMM_LEN)
>               __field(        short,  oom_score_adj)
>       ),
>  
>       TP_fast_assign(
> +             __entry->pid = task->pid;
>               memcpy(entry->oldcomm, task->comm, TASK_COMM_LEN);
>               strscpy(entry->newcomm, comm, TASK_COMM_LEN);
>               __entry->oom_score_adj = task->signal->oom_score_adj;
>       ),
>  
> -     TP_printk("oldcomm=%s newcomm=%s oom_score_adj=%hd",
> -               __entry->oldcomm, __entry->newcomm, __entry->oom_score_adj)
> +     TP_printk("pid=%d oldcomm=%s newcomm=%s oom_score_adj=%hd",
> +             __entry->pid, __entry->oldcomm,
> +             __entry->newcomm, __entry->oom_score_adj)
>  );
>  
>  /**


Reply via email to