Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754889AbYLJRjn (ORCPT ); Wed, 10 Dec 2008 12:39:43 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752784AbYLJRje (ORCPT ); Wed, 10 Dec 2008 12:39:34 -0500 Received: from mail-bw0-f13.google.com ([209.85.218.13]:33156 "EHLO mail-bw0-f13.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752609AbYLJRje (ORCPT ); Wed, 10 Dec 2008 12:39:34 -0500 Message-ID: <493FFD6F.2080209@colorfullife.com> Date: Wed, 10 Dec 2008 18:33:35 +0100 From: Manfred Spraul User-Agent: Thunderbird 2.0.0.18 (X11/20081119) MIME-Version: 1.0 To: Dave Airlie CC: Andrew Morton , Linus Torvalds , Greg KH , linux-kernel@vger.kernel.org, Randy Dunlap , Chuck Ebbert , Domenico Andreoli , alan@lxorguk.ukuu.org.uk, Clement Calmels , Nadia Derbey , Pierre Peiffer Subject: Re: [patch 021/104] lib/idr.c: fix rcu related race with idr_find References: <20081203193901.715896543@mini.kroah.org> <20081203194725.GA8950@kroah.com> <20081203194906.GV8950@kroah.com> <21d7e9970812091340p5121e8f8l1e2411035331e8d0@mail.gmail.com> <21d7e9970812091643n7e3e4fe5g8e44030adfbababa@mail.gmail.com> <21d7e9970812091746u5b6e8594s8567007ec1e26bac@mail.gmail.com> <20081209180250.8d7301a7.akpm@linux-foundation.org> <21d7e9970812091808r47e0cf07u8df2a9d2a27b783c@mail.gmail.com> In-Reply-To: <21d7e9970812091808r47e0cf07u8df2a9d2a27b783c@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 804 Lines: 22 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/