[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <493FFD6F.2080209@colorfullife.com>
Date: Wed, 10 Dec 2008 18:33:35 +0100
From: Manfred Spraul <manfred@...orfullife.com>
To: Dave Airlie <airlied@...il.com>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg KH <gregkh@...e.de>, linux-kernel@...r.kernel.org,
Randy Dunlap <rdunlap@...otime.net>,
Chuck Ebbert <cebbert@...hat.com>,
Domenico Andreoli <cavokz@...il.com>, alan@...rguk.ukuu.org.uk,
Clement Calmels <cboulte@...il.com>,
Nadia Derbey <Nadia.Derbey@...l.net>,
Pierre Peiffer <peifferp@...il.com>
Subject: Re: [patch 021/104] lib/idr.c: fix rcu related race with idr_find
Dave Airlie wrote:
> Actually now that I'm starting to wrap my head around it I think it
> might be the fact that I call
> idr_get_new_above with 64, then later with 0. I'm not sure the new
> code is dealing with that case so
> well.
>
Yes, that's it.
When idr_get_new_above(,,64,) is called, the idr code creates a tree
with 2 layers, without the entry 0 in layer 1.
This was special-cased [without comments], I missed it.
I've just send you a patch, could you try it?
It passes self tests [including idr_get_new_above and idr_replace].
--
Manfred
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists