From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755747AbYDBNha (ORCPT ); Wed, 2 Apr 2008 09:37:30 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753046AbYDBNhT (ORCPT ); Wed, 2 Apr 2008 09:37:19 -0400 Received: from e35.co.us.ibm.com ([32.97.110.153]:60550 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752846AbYDBNhS (ORCPT ); Wed, 2 Apr 2008 09:37:18 -0400 Date: Wed, 2 Apr 2008 06:37:15 -0700 From: "Paul E. McKenney" To: Jens Axboe Cc: Peter Zijlstra , Ingo Molnar , Pekka J Enberg , Vegard Nossum , Linux Kernel Mailing List Subject: Re: kmemcheck caught read from freed memory (cfq_free_io_context) Message-ID: <20080402133715.GA5327@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20080402072456.GI12774@kernel.dk> <20080402072846.GA16454@elte.hu> <20080402105539.GA5610@linux.vnet.ibm.com> <1207133961.8514.768.camel@twins> <20080402113327.GC41073@gandalf.sssup.it> <20080402114338.GA12774@kernel.dk> <20080402123620.GH12774@kernel.dk> <20080402123639.GI12774@kernel.dk> <20080402125530.GF41073@gandalf.sssup.it> <20080402125819.GO12774@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080402125819.GO12774@kernel.dk> User-Agent: Mutt/1.5.13 (2006-08-11) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 02, 2008 at 02:58:19PM +0200, Jens Axboe wrote: > On Wed, Apr 02 2008, Fabio Checconi wrote: > > > From: Jens Axboe > > > Date: Wed, Apr 02, 2008 02:36:39PM +0200 > > > > > > > Looks good and tests fine as well. I've applied it, on top of the > > > > hlist_for_each_entry_safe_rcu() fix. > > > > > > > > http://git.kernel.dk/?p=linux-2.6-block.git;a=commit;h=436151ad32b4a59e0d36165a7d6312545f126661 > > > > > > > > ok, thanks. anyway I don't think the hlist_for_each_entry_safe_rcu() > > is needed at this point, since the pos->next pointer is still valid > > (at least) until the next rcu_read_unlock(). am I wrong? > > it isn't, but it's still clearer. so either that or a nice comment, I > just stuck with what I had already committed. Given Peter's comment, would you be willing to drop the hlist_for_each_entry_safe_rcu()? People tend to read too much into the "safe" sometimes. ;-) Thanx, Paul