From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751865AbcLED3b (ORCPT ); Sun, 4 Dec 2016 22:29:31 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43126 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751364AbcLED32 (ORCPT ); Sun, 4 Dec 2016 22:29:28 -0500 Date: Mon, 5 Dec 2016 05:29:23 +0200 From: "Michael S. Tsirkin" To: David Miller Cc: paulmck@linux.vnet.ibm.com, arnd@arndb.de, linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC] hlist_add_tail_rcu disable sparse warning Message-ID: <20161205052506-mutt-send-email-mst@kernel.org> References: <20161123223457-mutt-send-email-mst@kernel.org> <20161125.195223.1182462379062736127.davem@davemloft.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161125.195223.1182462379062736127.davem@davemloft.net> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 05 Dec 2016 03:29:27 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 25, 2016 at 07:52:23PM -0500, David Miller wrote: > From: "Michael S. Tsirkin" > Date: Wed, 23 Nov 2016 22:48:19 +0200 > > > I would appreciate review to confirm the function doesn't > > do anything unsafe though. > > > > In particular, should this use __hlist_for_each_rcu instead? > > I note that __hlist_for_each_rcu does rcu_dereference > > internally, which is missing here. > > I personally think it should use __hlist_for_each_rcu, otherwise > nothing expresses the rcu-ness of the operation. What does "rcu-ness" mean in this context? The question is not just about making the code pretty. This operation is called outside any rcu critical section. If you are going to call __hlist_for_each_rcu which calls rcu_dereference, you should do it inside a critical section. Other operations such as hlist_add_behind_rcu manipulate lists manually, maybe this one should, too? Paul? -- MST