From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kirill Tkhai Subject: [PATCH v2 3/3] net: Remove spinlock from get_net_ns_by_id() Date: Tue, 09 Jan 2018 18:00:57 +0300 Message-ID: <151551004908.4318.11080493179034599392.stgit@localhost.localdomain> References: <151551001420.4318.12500370110778093679.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: eric.dumazet@gmail.com, ktkhai@virtuozzo.com, ebiederm@xmission.com To: netdev@vger.kernel.org, davem@davemloft.net Return-path: Received: from mail-he1eur01on0137.outbound.protection.outlook.com ([104.47.0.137]:11329 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757993AbeAIPBM (ORCPT ); Tue, 9 Jan 2018 10:01:12 -0500 In-Reply-To: <151551001420.4318.12500370110778093679.stgit@localhost.localdomain> Sender: netdev-owner@vger.kernel.org List-ID: idr_find() is safe under rcu_read_lock() and maybe_get_net() guarantees that net is alive. Signed-off-by: Kirill Tkhai --- net/core/net_namespace.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index 497135f314ce..5f9e18b31a1a 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -273,11 +273,9 @@ struct net *get_net_ns_by_id(struct net *net, int id) return NULL; rcu_read_lock(); - spin_lock_bh(&net->nsid_lock); peer = idr_find(&net->netns_ids, id); if (peer) peer = maybe_get_net(peer); - spin_unlock_bh(&net->nsid_lock); rcu_read_unlock(); return peer;