Re: [patch] mm, oom: remove task_lock protecting comm printing

From: Sergey Senozhatsky
Date: Wed Sep 23 2015 - 05:49:41 EST


On (09/23/15 11:43), Michal Hocko wrote:
[..]
> > > the previous name was already null terminated,
> >
> > Yeah, but if the old name is shorter than the new one, set_task_comm()
> > overwrites the terminating null of the old name before writing the new
> > terminating null, so there is a short time window during which tsk->comm
> > might be not null-terminated, no?
>
> Not really:
> case PR_SET_NAME:
> comm[sizeof(me->comm) - 1] = 0;
> if (strncpy_from_user(comm, (char __user *)arg2,
> sizeof(me->comm) - 1) < 0)
> return -EFAULT;
>
> So it first writes the terminating 0 and only then starts copying.

right.

hm, shouldn't set_task_comm()->__set_task_comm() do the same?

-ss
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/