Re: [RFC][PATCH] ps command race fix take 4 [1/4] callbacksubroutine

From: KAMEZAWA Hiroyuki
Date: Mon Sep 04 2006 - 21:35:42 EST


On Mon, 04 Sep 2006 16:48:43 -0600
ebiederm@xxxxxxxxxxxx (Eric W. Biederman) wrote:

> KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> writes:
>
> > Updated some dirty codes. maybe easier to read than previous one.
> >
> > This ps command fix (proc_pid_readdir() fix) fixes the problem by
> >
> > - attach a callback for updating pointer from file descriptor to a task invoked
> > at release_task()
> > - no additional global lock is required.
> > - walk through all and only task structs which is thread group leader.
> >
> > *Bad* point is adding additonal (small) lock and callback in exit path.
> With an unbounded callback chain length influenced by user space.
>
yes. 1000 ps process will add 1000 chains. 1000 callbacks are called if a task is
removed while 1000 ps task points to it.


-Kame

-
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/