Re: [RFC,PATCH] Use RCU to protect tasklist for unicast signals

From: Paul E. McKenney
Date: Fri Aug 12 2005 - 10:42:39 EST


On Fri, Aug 12, 2005 at 12:51:17PM +0400, Oleg Nesterov wrote:
> Paul E. McKenney wrote:
> >
> > --- linux-2.6.13-rc4-realtime-preempt-V0.7.53-01/fs/exec.c 2005-08-11 11:44:55.000000000 -0700
> > +++ linux-2.6.13-rc4-realtime-preempt-V0.7.53-01-tasklistRCU/fs/exec.c 2005-08-11 12:26:45.000000000 -0700
> > [ ... snip ... ]
> > @@ -785,11 +787,13 @@ no_thread_group:
> > recalc_sigpending();
> >
> > + oldsighand->deleted = 1;
> > + oldsighand->successor = newsighand;
>
> I don't think this is correct.
>
> This ->oldsighand can be shared with another CLONE_SIGHAND
> process and will not be deleted, just unshared.
>
> When the signal is sent to that process we must use ->oldsighand
> for locking, not the oldsighand->successor == newsighand.

Hmmm... Sounds like I mostly managed to dig myself in deeper here.

Back to the drawing board...

Thanx, Paul
-
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/