Re: [PATCH] tracing: Fix issues recording task information

From: Joel Fernandes
Date: Thu Jul 06 2017 - 19:17:32 EST


Hi Steven,

On Thu, Jul 6, 2017 at 5:59 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
[..]
>> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
>> index b66a1c8805f3..27b981a46389 100644
>> --- a/kernel/trace/trace.c
>> +++ b/kernel/trace/trace.c
>> @@ -1918,7 +1918,11 @@ static int trace_save_cmdline(struct task_struct *tsk)
>> {
>> unsigned pid, idx;
>>
>> - if (!tsk->pid || unlikely(tsk->pid > PID_MAX_DEFAULT))
>> + /* treat recording of idle task as a success */
>> + if (!tsk->pid)
>> + return 1;
>> +
>> + if (unlikely(tsk->pid > PID_MAX_DEFAULT))
>> return 0;
>
> Make this a separate patch. This should go to stable.

Actually I am not sure if this should be marked for stable since
before we were doing:
tracing_record_cmdline(prev);
tracing_record_cmdline(next);
in probe_sched_switch, thus even if prev was the idle task, it would
still goto record the next.

IMO it becomes an issue only with the new stuff where we record
cmdline for prev and next in the same call
(tracing_record_taskinfo_sched_switch). Anyway I already broke it up
into a different patch and sent it out. Let me know if anything else
needs to be done here, thanks.

Regards,
-Joel