Re: [patch, lock validator] fix uidhash_lock <-> RCU deadlock

From: Paul E. McKenney
Date: Fri Jan 27 2006 - 21:39:12 EST


On Fri, Jan 27, 2006 at 07:22:15PM -0500, Linus Torvalds wrote:
>
>
> On Thu, 26 Jan 2006, Paul E. McKenney wrote:
> >
> > On Wed, Jan 25, 2006 at 03:23:07PM +0100, Ingo Molnar wrote:
> > > RCU task-struct freeing can call free_uid(), which is taking
> > > uidhash_lock - while other users of uidhash_lock are softirq-unsafe.
> >
> > I guess I get to feel doubly stupid today. Good catch, great tool!!!
>
> I wonder if the right fix wouldn't be to free the user struct early,
> instead of freeing it from RCU. Hmm?

Interesting point, might well be the case. I will check up on the
following:

1. Any dependencies on the free path? (Don't believe so, but...)
2. Any strange uses on the RCUed signal code paths? (I don't
remember right offhand...)
(Again, don't believe so...)
3. Any interdependencies among tasks? (No clue...)

Anything else I should check?

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/