Re: Is this racy?

From: Daniel Jacobowitz (dan@debian.org)
Date: Mon Oct 07 2002 - 16:37:26 EST


On Mon, Oct 07, 2002 at 02:51:52PM -0600, Michal Jaegermann wrote:
> In fs/proc/array.c (2.4.20-pre9, 2.4.19 and likely many other
> versions) in function 'proc_pid_stat()' there is a code like that:
>
> ......
> read_lock(&tasklist_lock);
> ppid = task->pid ? task->p_opptr->pid : 0;
> read_unlock(&tasklist_lock);
> res = sprintf(buffer,"<long format string>",
> task->pid,
> ......
> ppid,
> ......
>
> So assignment to ppid is locked but other reads from fiels of 'task'
> structure are not guarded that way. Is this ok or if not we do not
> particularly care? Function 'task_state()' in the same file seems
> to be more careful about this.

I think the lock is just so that p_opptr->pid doesn't change while
we're looking at it.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 07 2002 - 22:01:01 EST