From patchwork Thu Dec 21 13:13:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kirill Tkhai X-Patchwork-Id: 851928 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="infrlIRj"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z2XCw34Vwz9s7m for ; Fri, 22 Dec 2017 00:14:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751693AbdLUNOS (ORCPT ); Thu, 21 Dec 2017 08:14:18 -0500 Received: from mail-eopbgr20096.outbound.protection.outlook.com ([40.107.2.96]:54534 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751620AbdLUNOM (ORCPT ); Thu, 21 Dec 2017 08:14:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=DOeZ93iNseLVqx0HftY64gFJZiFBAvkOZZZSjnkGGEw=; b=infrlIRjQqh5Kx6VaKQK2axuR5Zb568odVgLj5Rq06tlXom0PYASU6VRtOmnO/2hLa03b+noTAVsw2QFHMT6AffbffuKvM5kIV1FRkM9p0/wog3hb8xRVmwLYSj/iEuKknN2taJIvFTwYpf2w6r1Hxi0fyhBJJfJ+W72u6TnrbU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Received: from localhost.localdomain (195.214.232.6) by AM5PR0801MB1331.eurprd08.prod.outlook.com (2603:10a6:203:1f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.345.14; Thu, 21 Dec 2017 13:13:55 +0000 Subject: [PATCH 1/3] net: Fix possible race in peernet2id_alloc() From: Kirill Tkhai To: netdev@vger.kernel.org, davem@davemloft.net Cc: eric.dumazet@gmail.com, ktkhai@virtuozzo.com, ebiederm@xmission.com Date: Thu, 21 Dec 2017 16:13:52 +0300 Message-ID: <151386201910.3724.7199367937841370542.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR06CA0155.eurprd06.prod.outlook.com (2603:10a6:7:16::42) To AM5PR0801MB1331.eurprd08.prod.outlook.com (2603:10a6:203:1f::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3d938a7c-7a15-442c-b2c3-08d54874b0b1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060); SRVR:AM5PR0801MB1331; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1331; 3:IZWyojtkgjykON71Z3mUJvxb5bDrBHXZJONV2PONDOIhvDUdHEJxHP334UFu3DTjwIu4iKAPEpq8NH33x3n5+hBYhD/30PBYKdyYfalQjHm+uUj3h6rzrBKiZ2+1EvopHqGCphr2XHPDbI1qlltjOo6Dn8WuK0/45xjYlo2s3DiejTI5A7r8jfXYJjhk/PaygZhun0arqmnYLLggQbc3L+zaGwal4j8sOW6X7pWA6mSzzD0QD3MnZRiSicyia4AU; 25:UNDUaDlST38f4WdpGQbgRaz+25WbFJowYZP5SvNn1ElNQlg+eCzu0sW3/KGvKlSjOZPls3wP2x8xlXIOzDohf1LBrY7COVPREHa9u+J0Q5Zg1BbI6HQ5T/v8Z0D9/BdBZvHdrrXa28UcSL4wIBw21vVsggk4CLfY9upNMjKGs5TkknVlaWLw4h0H0CN+204SnIVGBmeqJt/4DhTo5UDi21L96L7kyReE3leDXEzp9lxYniMuCkdQcVztEmqxvLODcpwePwAd2z9mKdyykFUVXiKLwQcem+/6Oh0uiXIeHUjjkOngSghyg+xxRYlZJH0dLF9BwPgcDEwB8k3HbLF20g==; 31:yEzQY6t++B3YsC2HYdxmy0kynyGdn8MVLDYKNLqoIYN09ehY4HdFz6wk3GcMWJCBFWMjAEIdN7V1V4AxB27rU2Ms79XkR5Ve139bQqyPT4oxxdk3u5BKWokG9uMQjKQmOm7uwRBjGkd/A7zAPngFlLd0IwJ5WAo4E/BsZO3nNQV71+T0QMxX6noIPJEHUyYPapkqzWCWwxc5Ey0uGc/n/dGQHFUltMK01hZVOPuq4jk= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1331: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1331; 20:ktuNA7QFgiqVotcYyFlWiD1KVtK0BNYR06bLItYjbvd2lGqZUmAQuKQuW409R4rgjGIVXjli5Xtauiy+uF0yuTEUCnaO9DzVWcJ96XZf88B+u4TEjhKEBfgdNj2g1cDJLNBCWC1HDjfNIAfoMvnOsuqzu73lmMCJW31C0nZpna4zKkiZUWutiPhE0g8HEf0lGhZqcItbnycVICDtzTbsrvh1zM33wrF/1R0Jn2swpjCr95w3sqKSYC30GOTqglSRd6cCu/zcgr5oMGjWtBgKw+DJzSPXROm+iccf550f+vsuLHQyROuDLWSObjEp3DsTNgTvmLZ5IGExD/AW2kqS1KUgRA3PGeXwUvEMU7CHYx+EzASDfIc71/nVMzYyNrGeLVoXhpieefD2hwTzNFn+QvCIn2uWfE8dLl3ZMGGiTLM=; 4:iswHWOaPDTyZUBqVHYMS9K0kQGD/yo0HPi8+aahNsAmUy5tx0bO+aiXU4C4FRHFeebl+o+Bq25deERnV8my0Ufr8nH0FCzA56fK1ygI+sTzDFRsHVlih0n7WlDSdSd4FqdlhiEv8rMgycUZXo/bTnTDmnjQTLxUULLqSngIJ3SaA3OzkBg1mIzCqOprGnsO1+UIjG19NQ75diE8QPwAKvZD0ILIeXm+qPyonSslXukcX00VbHKk1ZmLTQ+PjyE2R9l7JJNYjuJrUL5sddwkOzg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3231023)(93006095)(93001095)(3002001)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:AM5PR0801MB1331; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM5PR0801MB1331; X-Forefront-PRVS: 0528942FD8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(376002)(39380400002)(39840400004)(346002)(366004)(396003)(199004)(189003)(16526018)(15760500003)(4326008)(39060400002)(230700001)(97736004)(2906002)(83506002)(55016002)(316002)(47776003)(6666003)(61506002)(53936002)(5660300001)(58126008)(68736007)(8676002)(81166006)(8936002)(66066001)(25786009)(81156014)(59450400001)(3846002)(105586002)(33896004)(478600001)(23676004)(6506007)(6116002)(386003)(103116003)(106356001)(50466002)(52116002)(2486003)(7696005)(7736002)(9686003)(305945005)(86362001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1331; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BAM5PR0801MB1331=3B23=3AK1?= =?utf-8?q?7ylu3Dblhq9lncpFdgyl5WPR1tii4dG7eKeXvt9HTmxENUltVOISjdW6?= =?utf-8?q?3jwXXki5oNi4nab1N6ARNpVcZ3zaeRIBA1O8S2xz8KPkaOgLSMpgLm3f?= =?utf-8?q?D12zuUKKzO1CV4hPAlWGaVKODiyfxJZEF0GMXevB1SBdaw4V9Uiz8QKI?= =?utf-8?q?2qNiAGjC6/Rs6D2/McvH7taqxFa6dhpTJpJWG+e7hcCxYiaSQqhhNd2x?= =?utf-8?q?4Ze7raYD7+chAxnnYdOXp5gQUx+yIWrpmDU7t61VBEEwPf4fE39+Fgbr?= =?utf-8?q?kCw5O1Oi+u7F+snf+LGneWEjUSVRqylEW4PedkDvOnUVFv34QPvDxaep?= =?utf-8?q?6OfSNKlGUW9QF2b7N9RaXnY4dZj69a2QkXhUSxPAAE/70lbWJwbOl1l7?= =?utf-8?q?r8XM3jkPuYcUMqtlh74CA2WBwW9MCW11S3DGnTffWX8szkqNfFUF5M2Q?= =?utf-8?q?b+xXBEAsNx9XKlOqTAmyLYxJYfaYURx//MLG//GNAc8Z51ZlB0kq0L4e?= =?utf-8?q?5WXsap493KRqTJETCaiNKvI7u0EB9W0lUbh9O2/VyYH5vxHSwh1BHGcT?= =?utf-8?q?wKVUuu5IZaSRLhwppGuk8C9ZTsbmjxUpKdATH7Wf95+O8dNNB7V8sNUF?= =?utf-8?q?Z0VaVNrhRzzr76ZB8UJw0s8/N0kfVc+kpnPHwxIop5TFlwztFumbL8Aa?= =?utf-8?q?JmDnHpegqJDfbHiheNYXV2wKmx1QY291mxq29lHlJIJ1OjVucaAXl6Te?= =?utf-8?q?FKh+L0uX/gnx0s9JZcSgCJh8LksslC2SJWetdIg2gNhWb/1yNmG0FQXs?= =?utf-8?q?40DviNCLQzenjVocDdpo/c8iZGgkEcVyC+ofLKxLFVke8zw2uUWBfRXB?= =?utf-8?q?5wa2HKTb0H5WV1QE2vQz7ZWybCjenCedbhIbZS0PXYTCHI2el1Bb1ycq?= =?utf-8?q?832Gce8O3TUxoG1lmnLsx9nmEIhZ4AqdJlrVJnteMt1OHdakJlX0cyxV?= =?utf-8?q?kH9gTljyTH0iQAODcfsLqNqmUNy1yh9bK1SaBxNfjOWu9yKQsqURtA+z?= =?utf-8?q?v+oiJ4xm/2VezbLdg5DcBMmwhLhxslGyaKKjV7lg6Fqx2D+gj7oTm/Gy?= =?utf-8?q?7AfRwWw+dK22koqDs+rvah6GLBBC/BxiV1zYvrhQABVCUn0OPAm9m/nE?= =?utf-8?q?HTlXYVwRyXLLW9leClKp4KqQbGInaZBxu+f5MhxmFMWcrPT0RYdBiHbA?= =?utf-8?q?EudkbOJrlzEiTffZ8=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1331; 6:TlKLHEpYXjLRV8o0uUMCzJrPYEyJFaZxY1yA496S+bRmX979r1aCPygHEs5/zhdP0i6/Qhz0c8sJRwSpX5TXvvqHb4mNblfxhPbwiKJtCEr7Ha3DOuz/UERD4yyk/0slNM9GuavUOMnqYj8rTw95+30BM5dd0oankJlSTDQ2LS/gS4Uw+yrC+DhhfkHDwRKdg0ArZLSxUtw9EbsEwEZ6hTjw/5fBbnI5mUWIqteDpoeCBJ60+9gpY3pcHJtoFmhz5gciLWoNiRJBYJ2GWCKbLa+KPCanT7GmC7Mc3ldI6HN0tnAgGXAMRR1rmM0/aXI9sdqtJ97yvSO3D6UFEKYH2nV3iJA0n6+ERY8YRrarapc=; 5:tciKWZr4jgWBycc8T3ENAXZmhgRWsTxhV/GQUg55KtlqifbtqfDSzvBDmQTGntwsolCN6S8TzUGlcTE1pEFMZDYU//FDDh+egCa+MwL8Ix+CVuZP7nuooXY+e0Xn+qmG9BlS1jMZshshyomgR4+w5MT+a5Q9QnAojcnxm+XtURM=; 24:kS7GjO3x2MMj2Ze3va1BK+H9zcCaB5knObRazVSzh/kMihYOnP5axn9PzENAVG754pQ3jOxf51FrYAeyjGsN91Z2qFzTEkkcVlMGprQxtMM=; 7:i/v2QD/CQYff1gyk0IFkDcThsZWYBmWPEDuI4ng2xtySMNgYHsHExWx0GABwi99edP/v8TKVub9aWCy1Ehgn/oP+X9gXIPfR/TBs5dRaTvhWlz4FPx6ouIBYA5Sj3bXwfnIhuDEiBBKaT13AJvfNw1W8Pj+XLU5fQ8sCqY2ZDkw4k3GBD7ofgrALjs3FHFzdlytn5Fa9Y1pcl0xCWSUHErYNNIkCVLd0r5fYfZIcN2ZK4uB8QSZHZind3PqkF33b SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1331; 20:5sJDMQYdpoCnGmjtHglK3pTxH6NR/JNZ778qW880i5cOMGGQTd4R+YlASAC7Vcrdyir4/0TKxbbgtw+FSGhyvCJ63cXxr8klRqN+kcEu1mAUEGU6zWp/6gBCkpV2aAk7WL525hU9aroR1POIV1aBN78IzcGTwDf5hzS//1HO+HM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2017 13:13:55.6728 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d938a7c-7a15-442c-b2c3-08d54874b0b1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1331 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org peernet2id_alloc() is racy without rtnl_lock() as atomic_read(&peer->count) under net->nsid_lock does not guarantee, peer is alive: rcu_read_lock() peernet2id_alloc() .. spin_lock_bh(&net->nsid_lock) .. atomic_read(&peer->count) == 1 .. .. put_net() .. cleanup_net() .. for_each_net(tmp) .. spin_lock_bh(&tmp->nsid_lock) .. __peernet2id(tmp, net) == -1 .. .. .. .. __peernet2id_alloc(alloc == true) .. .. .. rcu_read_unlock() .. .. synchronize_rcu() .. kmem_cache_free(net) After the above situation, net::netns_id contains id pointing to freed memory, and any other dereferencing by the id will operate with this freed memory. Currently, peernet2id_alloc() is used under rtnl_lock() everywhere except ovs_vport_cmd_fill_info(), and this race can't occur. But peernet2id_alloc() is generic interface, and better we fix it before someone really starts use it in wrong context. Signed-off-by: Kirill Tkhai --- net/core/net_namespace.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index 60a71be75aea..6a4eab438221 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -221,17 +221,32 @@ static void rtnl_net_notifyid(struct net *net, int cmd, int id); */ int peernet2id_alloc(struct net *net, struct net *peer) { - bool alloc; + bool alloc = false, alive = false; int id; - if (atomic_read(&net->count) == 0) - return NETNSA_NSID_NOT_ASSIGNED; spin_lock_bh(&net->nsid_lock); - alloc = atomic_read(&peer->count) == 0 ? false : true; + /* Spinlock guarantees we never hash a peer to net->netns_ids + * after idr_destroy(&net->netns_ids) occurs in cleanup_net(). + */ + if (atomic_read(&net->count) == 0) { + id = NETNSA_NSID_NOT_ASSIGNED; + goto unlock; + } + /* + * When peer is obtained from RCU lists, we may race with + * its cleanup. Check whether it's alive, and this guarantees + * we never hash a peer back to net->netns_ids, after it has + * just been idr_remove()'d from there in cleanup_net(). + */ + if (maybe_get_net(peer)) + alive = alloc = true; id = __peernet2id_alloc(net, peer, &alloc); +unlock: spin_unlock_bh(&net->nsid_lock); if (alloc && id >= 0) rtnl_net_notifyid(net, RTM_NEWNSID, id); + if (alive) + put_net(peer); return id; } EXPORT_SYMBOL_GPL(peernet2id_alloc); From patchwork Thu Dec 21 13:14:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kirill Tkhai X-Patchwork-Id: 851929 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="P9EkoRDQ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z2XD12G50z9s7m for ; Fri, 22 Dec 2017 00:14:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751807AbdLUNOW (ORCPT ); Thu, 21 Dec 2017 08:14:22 -0500 Received: from mail-eopbgr10100.outbound.protection.outlook.com ([40.107.1.100]:13920 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751622AbdLUNOR (ORCPT ); Thu, 21 Dec 2017 08:14:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=O/hozORWWXviJsB2rrQtHmQAsLP0Iqk8Ao9PavNeaeQ=; b=P9EkoRDQG89VoaCJnUWd6BKcVTt0Xi2KJS5yhViqi4cTJTTKNjhJXP6Q7AYcJtla8Ae8Sp22aevImp0rmQi22GTGHBKKMcZrTLmov5ui7bLHQuUtajtLvDLoO+SM5AOyCJZEmc4sH4x+iuYHKc2045fd1ctZtYkcjNdh/6aEYzA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Received: from localhost.localdomain (195.214.232.6) by DB6PR0801MB1336.eurprd08.prod.outlook.com (2603:10a6:4:b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.15; Thu, 21 Dec 2017 13:14:13 +0000 Subject: [PATCH 2/3] net: Add BUG_ON() to get_net() From: Kirill Tkhai To: netdev@vger.kernel.org, davem@davemloft.net Cc: eric.dumazet@gmail.com, ktkhai@virtuozzo.com, ebiederm@xmission.com Date: Thu, 21 Dec 2017 16:14:10 +0300 Message-ID: <151386204146.3724.1821581875608154672.stgit@localhost.localdomain> In-Reply-To: <151386201910.3724.7199367937841370542.stgit@localhost.localdomain> References: <151386201910.3724.7199367937841370542.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0102CA0024.eurprd01.prod.exchangelabs.com (2603:10a6:7:14::37) To DB6PR0801MB1336.eurprd08.prod.outlook.com (2603:10a6:4:b::8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5aaf94a0-9166-4b29-19a1-08d54874bb73 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307)(7153060); SRVR:DB6PR0801MB1336; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1336; 3:ap3gbJy77bBLbG0UooSt0CLD86CokHh/HLsAmD9CJftw0MFWK1wCiDauw3nVXuf3HcqjNmMFwI1c5GCLy5AV0czxqu/LdjBJzwkLbf/sKmaU1Ewf7bn9utUy6h3a7oEekHlh/O7TSmoDmla3LL42JSpJ9u6/3Zns11z26Xuj8ztz2fFBpMJeEa82X1R0gZ0D/T7NJDPKt8BnUlmP0q6oLKzK+403RvKXRTxzKJo52ZgYi1RQYMQBfD05PynLg8O4; 25:H1g1Xrh6IprKIcdrCDN52B6cgKQFAzhtNmuq0KQ6BSNktLTXSoQEiSMlCnValoHpMqI3IkgdBamriafRAN4UongualwSk78kn3RR5mXQEKEOYug4tOKpSbrmQMV352+7VF9HErh0jVP9jN4roGyVqbfYJmEc+GsL5C9dDkjCGfzjCbSImbwkJYPHPrIOAWfGjClOhnsZB9GHNKmhxVMCaJ8j2T13gP6qCl8wLjn8egZimZptYqE/kCQ2nZjMBvBqyJkp3kXK36v0n/Li9SUKuJ2aVMF4yUlINNZTWMGyBtiqkvNJMmRzC7QgUdxe7sCHhgZL4yLeLu9Gqpu5btJbOQ==; 31:tx8Nctj9aiVQBjdUAYyJ02wqejNbjBURzzdsHkHTzm10mYcuPRyVBjH/XFMgvfVortPOqDOjVsDVY8RHO6HgF9rkZFfA25lCAZJpqvSlSIjv4Wyknk/xqGwMSS2CL8JThnc0NWvF0IyMPJPG+I6icj2kY67+qmNn3mi0NwViSIkg8Q//bXtbq4AMWwy+S099K6nFl9ESeJjz6Ox4ckWyXRXx7aFkwQiwjgSragc7/ks= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1336: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1336; 20:b8FvyWVeTOI4Xmw4JpoRSVPbF0/MiUV8d9C6r1joNUd1iP7ENIBg3D//3QawzXQGnv+6Z4E+OGeZvsjTPrIkQQ3S0w0AX9jpU8JyW4snqdzQtJG7WJs2kkL/IBgu0aa4jDvhTuIvdEis2nu2FpPkSyfLI/TPirvuAAuuPmxc3Vud/DFB5luAB5Q1TRgi4fqp4pNIynOhveqlJqKRfX9ocePLSlu4rZ8ZJPlTvGLxy9VmgEfkfn8OQm7A5MjtsSPhrdT6G9P34IqRQpuGgR3ErIM8gaq/buxl/LoOWw7wcjQpel2uk9jTjh/WiH8zPWe2Z7BoTiJRiXkgc8AfQn4i1d/S6EEzJ7CD6FhbY4lTSW3k18Uk7KDAyG6PAJ3PaoKzV2Pn74mov4Y1AIn51w32Di/4mKxuuSPIM8YDlM5SOak=; 4:a7CvHlnstAeFIYLwMOc5r1RZiJbJCLGEe2f5jCG05OYN/Fh+mHGAD98NMtfBY9ysjHhxKY+I8J6RtCfXylxaygwGwWPrRLxqQ5WK2FfC4p9LxsgHxMEklQMCh/Hg3PpTSYqEd7h4mV+5CyGysRJBKv4yFvR06h29WKjgW11K3hfYPDVHGXKO6NOmzlHCqUhjVUuOr3cEXR90223A9IhJcv1nSMyM+BVp3N2Ke6ei457VzCNVXl0RfjcscydNK3306qTS8LbW4T19+phrPe1Oyw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231023)(6041268)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:DB6PR0801MB1336; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB1336; X-Forefront-PRVS: 0528942FD8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(346002)(39840400004)(376002)(39380400002)(396003)(366004)(199004)(189003)(106356001)(105586002)(53936002)(4326008)(39060400002)(50466002)(103116003)(2906002)(478600001)(6116002)(68736007)(230700001)(316002)(305945005)(58126008)(47776003)(3846002)(7736002)(16526018)(66066001)(386003)(97736004)(2486003)(23676004)(6506007)(59450400001)(7696005)(52116002)(81166006)(81156014)(33896004)(83506002)(8676002)(76176011)(8936002)(5660300001)(86362001)(2950100002)(575784001)(25786009)(55016002)(9686003)(61506002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1336; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDB6PR0801MB1336=3B23=3A8+?= =?utf-8?q?PCXKDSMjwkpgOfDPyPLAPwSoxZX/7WI0O1LZEKzcKnJA6/fR2/LfnVK0?= =?utf-8?q?Xfx97eSh2ZwOJFIPW3GpVqRJjqvcS8dvUhsytHJ76h7OLjpIMWllcWSD?= =?utf-8?q?WOl1ZcRS4mZBnuwm2uhm6msg1/bQl6FNd1wQWPhCCYZvo8dU1KvDioxU?= =?utf-8?q?DTmNuQ0Yr0SawilJpbAqqJtoAJXIRU8PdwO/Mx7jjKFR+1N6jaFth1Qj?= =?utf-8?q?LVbHXWF/F84/nUj0b9nwuhP1UL+Yjkm9U5LbfxmalfmGT+/qU/SRwbhJ?= =?utf-8?q?EL4ZA0yWGJzYV7pz/+xVuLFaVlFo17sDroKPj77iQfJLGsQKMwhiMICD?= =?utf-8?q?9l/6GICWHQ5cV7FkXYSyssIUJUWnI6rGOYrs2KFaqG4y1wKZVB7dUQjs?= =?utf-8?q?Lv3XpVNIVyyra6trJGgpIUBplmPkr5BgD2SB4Y6KGk7L/TK8WcDupWuo?= =?utf-8?q?yiIphPi+aODjGnO3ZV8BqDff8xZ5s5Jl1ko5KtPC/npaXthGgoS2OBPc?= =?utf-8?q?m66RpdETRs/3OKvb2UwQcndQmZE1ixeCpp2Y3wFGEEUIuyzn0HAYcEdJ?= =?utf-8?q?u4OyDDpy8Zbc0VMDBk9KTCxesMBKcvrS9AAB4AJAIJOjhwJapMX+tF80?= =?utf-8?q?ocahRuNh+pWdnfQ0VKxCnI2CJ4kxnUpLNMPDvZDOEOYKNdVxp/JDdQ2W?= =?utf-8?q?ASGejtA0MHNBkeCZGd/ZdNqhncROV8Zq/Q/sFBKTTSSLYbvCsP/Y8To0?= =?utf-8?q?ZJNfczipgPYvb9po6ledPq6ijsrDEsSnOOIeedhRxYeSTSD4vzvAzbdd?= =?utf-8?q?rR3FM8UgNovYr2FGEmvlS3cEW9VAb/Xb6A/WYyvfBDN1ZRS+pcSSk2C4?= =?utf-8?q?DktpmAsdvu9WhKCBYKpCqHw+CtuxWMx306BQbaSY1Jnzs65yOIesE/Hn?= =?utf-8?q?bJl+ljeJ5MDYViHJ5qtSGdChZ7JaLOvR9GgSg+XTuhWqtO+JqZCTYbcv?= =?utf-8?q?WkM4gPpOMsX91BD6KuVycpJQz6DsrXRspWGgo3wDI9J+4w7bRKRoSOBz?= =?utf-8?q?FCxANo6Ufw/ROaHIRUVpzd6632J+9ShMLWmVgwF5aQs4jTFt9OJRW9Xz?= =?utf-8?q?P39wsGAPkfebUcIcgLbXPovgs+Gb4Tr3axYTUSR7zfwDUu4LNq0Qiyyl?= =?utf-8?q?b1/Fy7Pvc3/Sw8t3jN2N8UHbhwmXj0O/9xArU9EmYOrMGd30iHiEDjhM?= =?utf-8?q?4YlhP5g/0zF1nVq65QDgQcieOm61RY8ExMixUR?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1336; 6:lnWVluqSc9stnGscNlQnZgQJJWmE4TFUp2UtN27KDKJsJOK44VUk8oRRnc6nkYuzcq0NbtgMCj/y03SroXNr70OvHaB9jJ/5/CywjUZZ2PzEZdk2yuH/ya/cO3UuWnUreJaKs1oOUm9p46JvPvMz/YMPlTFdt1rfbCtX8DiSscBOPUm8fUd0U4Lpi18/6cv+JV2H/50hFQa/KLD1rCwZFL154P4tKTPc5tjYVG17az2e7wU6qZaLXanWNhfrkvxvOm3fNK9Y3HKwyaMpHyL9l5bsOGwIPhnuzHmLwjO0Yj3Q3Gdt8VltYBi6x3X6oj/ZHeJtNi1pXVyJGj5T89vrvs6vcCNSkvyBy/Ky3y1QLB0=; 5:3z9ZRzg6QFTY8GqoSErwiW0SnFooeEq1ccjLZC6d7yaKCgAxOoK5bWsc84+/1E1VJ14Aico3dDmuIfyvCWzGwUTIbTudIEX33p6hwkBenkoO4eb3aaRqHot+FT/5avxdirVezpUXWy7vrsTSuFQrrIA6cecc9EyDKN6oQN0bmYE=; 24:dI44LtakIYPHbFLA+awYzL/70KiY2WRqKqXzIFceyKfy/SO6dqcOtldjI1v1t1ISPtVmOVusotEgCEyMQ6IHT01p8iiJjOtAWzH1ReNQjkU=; 7:/BhHDT1DHxDuCZcUoLhUx+CRv8dbzrPu+I7/s88EZkX5WHhRJJLkxhYkexSwqqV7M7Y98nP2BqNNDIo4HBoKnhK2+BFrx9rRXn6XALsLRY8prXxcmoojJJqEcnE5Yaur2OQiJ0Vym07Au5ze3vH5rJ9hEgr5jLfwejkIm2Am4SmEgsDgSt5UAC4CY9/Od0zvs+/UtCPZfW3Jlo1oT3H205mITSmOVmAD6AD2XcV8stHLsbCa8QvWDX0IyeJiblgd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1336; 20:IN9oOFqbYzXwcum0zodtrZgp7lyvLh4c27Xsmrql7oq+jn7/vQpXLvXG+A+HMbE5ymWE/jEn1S/pEB+qRzdCQnFDXeDP8gjZ67qCQnRFAcVp2vpSW9GwdtTb8NQyM6TcK0f1DpR8TWCl1p0+AgxQ8h+2qknp/1hJbemWNc0hLVk= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2017 13:14:13.5769 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5aaf94a0-9166-4b29-19a1-08d54874bb73 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1336 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since people may mistakenly obtain destroying net from net_namespace_list and from net::netns_ids without checking for its net::counter, let's protect against such situations and insert BUG_ON() to stop move on after this. Panic is better, than memory corruption and undefined behavior. Signed-off-by: Kirill Tkhai --- include/net/net_namespace.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 10f99dafd5ac..ff0e47471d5b 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h @@ -195,7 +195,7 @@ void __put_net(struct net *net); static inline struct net *get_net(struct net *net) { - atomic_inc(&net->count); + BUG_ON(atomic_inc_return(&net->count) <= 1); return net; } From patchwork Thu Dec 21 13:14:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kirill Tkhai X-Patchwork-Id: 851930 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="Qwb/QHky"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z2XD82dXyz9s7m for ; Fri, 22 Dec 2017 00:14:32 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751842AbdLUNOa (ORCPT ); Thu, 21 Dec 2017 08:14:30 -0500 Received: from mail-ve1eur01on0117.outbound.protection.outlook.com ([104.47.1.117]:45335 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751734AbdLUNO3 (ORCPT ); Thu, 21 Dec 2017 08:14:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=KkqKOwr2M1vAgO/bUoczK7B73YnP9XZFmmIPNZLfYzE=; b=Qwb/QHky2HGSI0ohGZu72rPHlUdkTO1u57orfHWGDwxADkweWg1+hFBPKfIu/sppIDFW0JU915H6y/0SGpnsEFu/dKbf69DbIZT+T0sw9gIsFThPF7OyzzIKL0BSG93RgaZ81YtgSlBymVRL26h8wCNWhX2VhuT4j+Lp3Z/4PfM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Received: from localhost.localdomain (195.214.232.6) by DB6PR0801MB1333.eurprd08.prod.outlook.com (2603:10a6:4:a::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.345.14; Thu, 21 Dec 2017 13:14:24 +0000 Subject: [PATCH 3/3] net: Remove spinlock from get_net_ns_by_id() From: Kirill Tkhai To: netdev@vger.kernel.org, davem@davemloft.net Cc: eric.dumazet@gmail.com, ktkhai@virtuozzo.com, ebiederm@xmission.com Date: Thu, 21 Dec 2017 16:14:21 +0300 Message-ID: <151386205963.3724.7673833316098613356.stgit@localhost.localdomain> In-Reply-To: <151386201910.3724.7199367937841370542.stgit@localhost.localdomain> References: <151386201910.3724.7199367937841370542.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P191CA0023.EURP191.PROD.OUTLOOK.COM (2603:10a6:3:cf::33) To DB6PR0801MB1333.eurprd08.prod.outlook.com (2603:10a6:4:a::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4376f569-dc2e-4fdf-03a5-08d54874c1f1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060); SRVR:DB6PR0801MB1333; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1333; 3:cRr7IoVlw3Zix2ZhhT4E/JCSZHlbSjDKWuNtS5ybrzv30CdG8ba0S8OrceWoSgiXMUpvdf+NTbWKPi3VoQKWUDcDqMVXpr9xYZxmPDo6Hu8N2CxAOlclrPbNmc6C/YDj3wG86q6fefFDpOaD2usz4vJii1tK+HCNFr3ROnZixdfpAHqanJRxTZIRtvu2Nb/Wc/2h77xVf04ku3FiLXZDsS02Tmlw0jz09PUtQcoiTfkn4pxzxS1LSFk49HjyP3AR; 25://+sDpioC0cL0FTtprNMkX0YkFhVOxf2G8j2eATfaUX/7nOByrM124gZFXH8pMCx1tKRvOGll6ASSi+MCTOUdd9vKU2VThw/j3MyByn4DUqtwoYTTyT/fY2iJwHcbIHALqGUtVkSF8N34830Z4yMk9yM5+Fi0c9Q81cOoRkKH3vHKSfZgRsZkCwmXov30oXnBVITZClCk2H8/p7WRFjNjhGP2BO+yAn3vZNW4YS4xx/KUTGUA40T5lonnoG9pjAqvheCnNeTL9A/1lZS807LatKomao27OghSXTM2J0gImFCQF/GRql0JqG2xFprlefvIWwc2YmqwJxXszjOjBW7Zg==; 31:oDx3Eph8rtLJc8OVpQF7+HbiknWt01byfOUhuft5MhX7k8cO/Ro0Q5zkCkqHXAGWnNxec5yxG2suMISm3juUdZMXLTZEKA5redrrBNBP1/mNenMzIQ+ZDKb6a3TqraCtzHmqiuEVyorxXYgjEHTvTrdnsDZlOgRtV5gAMsG2r+sIkqkvW0HWqy3XtJ7T6nE0AdHC/AkrJuz5RFTAI5Hi4PBT5e6DpMi2EVGHFrAeZHY= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1333: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1333; 20:ISR2A+2ECuAuT3oW6o3/0bXb7H+ezGtRytytXAJEWcdMeP1KhWLaVD8p9606/cawVqoNuatBxTsneD3svaRxxgA2qvqgzqey5LBpbjqMempk2473PBXkhakaLwBChTKOoLYN07TWaJN4yr41mup5uW+VQr7N9SZoUOLHX4FUxC9obC17KwmlWtP/OJ1PLlYIH1Fnq1X+n9CVMIugy+JW3GeX48xyWi42vrtejxJMpS+La5Ncx4TkzhtRfn98MBJMuaPg9dj2L+a7Ks8HTu4IP1Dpt6ZO1nxOKWmJtIdkv5t0f1g+B79qYk/pUOrpNchSeDaqWE7SlCTBnBqwcCxoEJWLBCe4VzFKxaOcWFpe2IIqYcd16Vs/B5/WLxjYQH2J3ruHw5pbFJiyEkYn+sdJ/abmCM/rtTPY+ON2ZaRUbpg=; 4:LbfDl+DbHwS9wsWRq5OaRrRkeQ4jZkQI/8J56AaLSbayMecayxYCk2DVgHul3Hh8ht2yUekLohlmYWWqsnDpjp1xoEDYqw57pBZZEmkN0qQ2JUKG15Nk0wbBEmDeXBj3UtWnrwLi1DhKtAAqfhUwInVZox+Ol0rB37RuGNZvvC0Jyh1JN5bZk6BndDy+9PwBFDfs4PPZTgDKCQq2FrGylFc6UoCD84AET9LTcr1dcU2470LT9ExhNO18t+vIKjLwHUvt927bhZniX+5reYFSRA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231023)(93006095)(93001095)(6041268)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DB6PR0801MB1333; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB1333; X-Forefront-PRVS: 0528942FD8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(39380400002)(396003)(39840400004)(346002)(376002)(199004)(189003)(81156014)(9686003)(47776003)(86362001)(5660300001)(8936002)(66066001)(50466002)(478600001)(97736004)(103116003)(2906002)(8676002)(55016002)(316002)(53936002)(6116002)(230700001)(61506002)(81166006)(55236004)(39060400002)(58126008)(6666003)(2950100002)(83506002)(16526018)(3846002)(68736007)(4326008)(106356001)(25786009)(305945005)(7736002)(105586002)(33896004)(7696005)(76176011)(23676004)(2486003)(59450400001)(6506007)(386003)(52116002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1333; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDB6PR0801MB1333=3B23=3A9V?= =?utf-8?q?3LunbEU1+Ycj/EW0kvbsXASo4ZEOZBR2EyIREwW6fRaZaPCBEkuRHLsJ?= =?utf-8?q?5oOaUeNKIh5dgH/kw4eZHXukpxv4xJo7EUtgAtSmsnjF9mBrx8EXMCw5?= =?utf-8?q?fXSSiaWtAfUaD3Mygdve5R9epdBMdm/inY3P6JQwrXxaqX+wLa1zZRp9?= =?utf-8?q?ifS4OGgn2nhpjj5Qznsdqo9vHPOy7yQYQlgISt02FDRG3tSHBDtfRJ+O?= =?utf-8?q?bnpjj0pqX870h69zFAFlI9xvCJ32YB0ls+mpXTZdgBEwIlZ0E/m3wCVM?= =?utf-8?q?fjWcS9TONdHCeCkbbRl003ey8qNPXYB7lDO1FMs33phe94wAKB7q7SKN?= =?utf-8?q?GhUa4JUvY+9k1dYbRF5jPQQ3m77cQhupqAnTbInpouAewjWZA3k9//xX?= =?utf-8?q?DHRhSjV2J12w/jTBVYHSN8YgaauF8crvM0UHD0a+swO/wlwgt+SVhQD7?= =?utf-8?q?hPNI+BKbAYZbpg/plS5uEO2gJwYyQY59YxRMM5ZblgP6OB2k6lx7ms9J?= =?utf-8?q?Kdphtif2eGWoQcgAxnq+4Yzp9X0by9nFj/hKgLuDFM7me4SfBfhlQm8X?= =?utf-8?q?xyvsZhf2wuvCH16sXYIfSEC5kZLmU1tzqTYeHi3Dp0Yqz+DSbEW9kc0d?= =?utf-8?q?nr8j5OiCIY6ThASVZNizXXyFSfcv5i367zr89Ms0DBRg8kB+WSAhrffB?= =?utf-8?q?kvHuIMIkyFZcCP2h0VKWsld23vyEvInS/HAPQpqGI2/OnSIjya7xneCD?= =?utf-8?q?dEg2AcaMsQPRrAspfNM6bZkQE0dfmdC3IBZvjAHMSMkQGcKAAReN59My?= =?utf-8?q?NjwMOQsrxWGq6yI0pk2F7pN8DTKclQygScPHF/IjaFaW+gr0TqHI6osa?= =?utf-8?q?/E1BB3YSYo1d63aPKz7v1c1BwluM0GudPKxnP/XCSTMkmNMDf6qX9EWI?= =?utf-8?q?pa3C0Jmsj+RvOkrBbR9a3n3XTcXzaO/lFtohsDEmcQWz3WXHPyrjGjZM?= =?utf-8?q?VVGFg0B6LNPOZcEU/FpiBrdQ/PyvUHqc+5fyfkNU7Iac4zFpXfdUHiSn?= =?utf-8?q?MK+wjzUPWu4YrPfZl45yP8ylZtbEGj3HxLBpd7/TmyKOCoUGKDF6LVh0?= =?utf-8?q?Yq+Rpt2nB5E76qq8Syh7Pz5CgUmCIT4A1Ispq7hM2pZqL4nQ1IXxxV8o?= =?utf-8?q?NJOdX8P8qPzJP+7JNzQcgidCsZI+8Vdg/iN5s/eDO4P0ODCEQdhV48Fk?= =?utf-8?q?/129pOZshkjrQ+ubPuuZog3RLVc4GI1P82JOW0bkExFPiX31gyVzig3j?= =?utf-8?b?TzRSQT09?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1333; 6:ibde2uADqjB9A9H33bCSIOYBe4xRyFsv/lm3b4XeSVjsSHEk0Vgt2CTaL1NkngdcxYvkq0W8kak1tCusU/T7yPiE1f9iBF7m1kKwjuUox/2aw7QJTPAzYu37t7XAxQXD93U4Vt8Rxk04U9IIJ5FZyP055iSJdz+m13XNIXF1obhMmF5UVh+1VFcFNCkKzvKEJiiGXeMnKkBgKm5tLkundhMp1buQIQvVlXzPg0+VA5hhcrcYin9JEM+TON/y6eVFF4gdVjhFPg8uduCeoBf2AFLQotI/eHmw2dvwsQWDgcArF7LBRzN6R047aHukSR6Vs8AWPy/JU8HHtf+LQkA7eKT36iey9Ht/3EQrffY/4+I=; 5:+9NRDpt1FFtc4KgC8f+oETx0fxzcjB7DIIrrM2b7fjFOJlyHQuZ0u2UuHHbQWWK8BnJ5U3cgKxHo/ZsuT8Vu/RreYO6P0SAmflyLG1CLhtpG3SnkBhp1ASTrW8O1OV06qgzDlahObsIEAT2Y9TBWJZiatOxLUYnSIoSsOY2jRr8=; 24:9DDplUA/z5GoMIh1JJRnpydt1ogf55UcWCuLSTFvyVAaIjuB6N4r5pzclxmKZyzSvbC6HiCzRbTqNblyPzUI3Ahp8lh9pAyfylfhFyE+8zA=; 7:E+81dCpiZdCi4HCaqdjocDCjDfQzIp35H6qcjL6CIvvnGSEnPmupR1klN2gNg0HbNNQl0Du3oO3V7zOw4AskgtY0a7YXt7rSA1lVpyFe/IXp6Mr5CE/o1+7J+az/Q2Ubl7Zg9qTXCDCzXdFSSofsG1pACVoOZlxQqNbgZHrJH7CJQ8Yz5zS+UmV+0w90y1O+0QEepgEXLd81ANUEJ8OFyeN4XJAtxQt77cM5z2DvbwYqaScUYQ+Qd75U5ySQD0bf SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1333; 20:xkkzdoscfn1Jp5DE6uYWVH0MSQEzhGUekb9gl4lHi6zM/gRQTTEfpTfXBmMKFPtu9k+9v6HqGdvObL/JFlwL4g7TpFElVDFTVBH02xWjLWFqcTXlM/MprgJ3bbzuGe/iyuAE658fkjO3VIQ19w0+RTgJ4qHLsvVg4wn/VyUij40= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2017 13:14:24.4684 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4376f569-dc2e-4fdf-03a5-08d54874c1f1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1333 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 6a4eab438221..a675f35a18ff 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -279,11 +279,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;