From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752597AbdKTScj (ORCPT ); Mon, 20 Nov 2017 13:32:39 -0500 Received: from mail-db5eur01on0131.outbound.protection.outlook.com ([104.47.2.131]:34233 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752182AbdKTScd (ORCPT ); Mon, 20 Nov 2017 13:32:33 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Subject: [PATCH v2 02/31] net: Cleanup copy_net_ns() From: Kirill Tkhai To: davem@davemloft.net, vyasevic@redhat.com, kstewart@linuxfoundation.org, pombredanne@nexb.com, vyasevich@gmail.com, mark.rutland@arm.com, gregkh@linuxfoundation.org, adobriyan@gmail.com, fw@strlen.de, nicolas.dichtel@6wind.com, xiyou.wangcong@gmail.com, roman.kapl@sysgo.com, paul@paul-moore.com, dsahern@gmail.com, daniel@iogearbox.net, lucien.xin@gmail.com, mschiffer@universe-factory.net, rshearma@brocade.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, ktkhai@virtuozzo.com, ebiederm@xmission.com, avagin@virtuozzo.com, gorcunov@virtuozzo.com, eric.dumazet@gmail.com, stephen@networkplumber.org, ktkhai@virtuozzo.com Date: Mon, 20 Nov 2017 21:32:24 +0300 Message-ID: <151120274466.3159.14692557383591295224.stgit@localhost.localdomain> In-Reply-To: <151120175301.3159.9577108443167812854.stgit@localhost.localdomain> References: <151120175301.3159.9577108443167812854.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0501CA0008.eurprd05.prod.outlook.com (2603:10a6:3:1a::18) To VI1PR0801MB1341.eurprd08.prod.outlook.com (2603:10a6:800:3a::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 60391644-a1e1-4a6d-9fd3-08d530450e20 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(2017052603258);SRVR:VI1PR0801MB1341; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;3:Nn/s8UZmtKqlrgo8iJmqb2jRJeBFIFpesxmXCHpBK/PjtJPQDeY3AuxTVIcEcdVtMSc24TjcfkpIhMIb3ELs3+CKgT6X78IEhBXBTOEXGR6Oo1fhI92tkhZ0QH5NQPR3Qh1/QztOycrjg4f9mJbvBwllGXZ286/8BOoUoR0jCTEp9UY4evi/Fl6hDd3n+dqWErXoQh1k5u5y/TkY5PpxflJgCMamaVpj1W1esbJqnallZwNGU7Nvdbxv5Gb+EvJw;25:yBQ4Zo+S8Aea1igPQf118U8hCUT+OuUrZDjsz7cLAgY4x+8jOPe+TbAwKntpl569zfEXQTXwbKHpYoT4io6DBf0z8OAeb4bhfZHh6hw3McXOKP9vTBuc3BNYUszECG/TxyfTu0iirbtdk/hWLakdF7zPdj8QJ09EyTlgmRA+TK7toomXhA3pizenS/LjM00KN8GsidKfomyGJtEUZ1ZIjM9E4oEWIHl+rUdrszl54a2oDeIVkHdWCxptIsi/D0cRReYcnX1JmobGwzjN/72blCrYTJivk0y21f48Z+opTDuppq/P/OSvIAgMVke+Ug3qH5tz1XxUR41qOJgGlUylTA==;31:exIN9VDFdsegSPhCu5kDNpqOhNo5UwPOGrMM31sCoEgZ4dT9HbbHVcWY80ahYx0tjHO2e2kornhH2Uc79WOr466Jl5jMiVP+o/IE+lN3RLVaYD6gPm8h9i2iRkJSuxOM9NKr7yZ2GcuFkHESsPto2ZAzDhx4JsXPM2CSag9wn+TyzmnwNr3j/m/YLNLk9WftVxhKH7PlhK7+NdXHRdvA1Z7ZoynN3DRbDg/kwUpll6w= X-MS-TrafficTypeDiagnostic: VI1PR0801MB1341: X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;20:JoZDR1UmvkiXUPR0crmiSa683lccyl/35dt2dOiBJ8ncRwK+j5O5PHI68JI38UDIoYQsGsFBatb9QqZgIS1G3i0yQKf7KxTY242AWNEOYdqY+VngMgXlidw4FJJzi6/gDtie2V6gcP22p4BY5gRT5NaEMHZaBn+1Ump0lC5Eqy3IH7XrfXo1nYcschGovMOV6tmG7S4T79KSEe1zqDxOG2YvT1Qc9QGXUdwwo5BmVCBqDjZUvonXu+D06dVDGYWPOXefbbqHZZK5jLKw456O6dM/bP/mm7Ju6+toe5nJBkdNaw9CGKPEejuT+safHAcSzotYnws8CEvXmTrB/y4GtdezigoSpI+j7WN06/V1jWla9ROoCvSvOzXEMJeN4DPGKqz+6Xj0A0Pykb1zqL6NdarpvQZjO5Hef6V/LkgjM74=;4:GYoDvnOcqTJWMRZ5HH/OBnFgkfwxSDf27/rVKk5K118JgZZhKrkMB5956DL94SV6CszfawIfUeYn/Iu4BmHBzSEG+0nbAAc/TRKmJfy8FWBU1Fi2TSUuja0++1G2FAJ7cIO35+7ezTr1s8iLGMzTMumiaINayRvL9jS0nsaKNXTxbPo8WAIcf8on89BGFGe1G9nFjugTcukUkicntHKRIH25K1B2hBroZvXIVC4JX6ACfsd7jdElMm7dx1doXVGJp0TL49itnvUf5ECbUk+LZQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(3231022)(93006095)(93001095)(10201501046)(6041248)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:VI1PR0801MB1341;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:VI1PR0801MB1341; X-Forefront-PRVS: 04976078F0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(6069001)(346002)(376002)(199003)(189002)(58126008)(55016002)(9686003)(316002)(81166006)(83506002)(23676003)(53936002)(81156014)(61506002)(2950100002)(55236003)(6666003)(478600001)(25786009)(97736004)(2906002)(39060400002)(5660300001)(50986999)(33646002)(230700001)(7416002)(54356999)(76176999)(6506006)(68736007)(8936002)(103116003)(50466002)(16526018)(86362001)(101416001)(66066001)(106356001)(105586002)(47776003)(189998001)(3846002)(305945005)(6116002)(7736002)(8676002)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0801MB1341;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjEzNDE7MjM6VWlTNDdWLzVSdDRWS29DWkc0dHNXUVd0?= =?utf-8?B?bzk4YVZzazdXUWVIVW1WQzJpMXdRYjROVlBhOVlSbmFVUm4vNWkwNjN3ejZ4?= =?utf-8?B?VGpmTkZBS3JDZkNhYm12ZHNYOFJNZzBnTE1hVmlCY0lYSGppNExKZytPa045?= =?utf-8?B?Z0JRclZjbWxHLzJhcDBzL3BDYTZBeTA5Y2kwMUpLdGZJaWs2STBtVGdGdzdo?= =?utf-8?B?UzFZbzhxcEpXYVVPM2lveHdwUmxvdFNLL1JWL1ZveWY4RCs0ZlZnYjRIR0J5?= =?utf-8?B?QkUxQm5pRlRvcGk4QUxwT1JTbk5OV1pSMTRqaWdEb1NnNlRWT05FZ0U5ZFpN?= =?utf-8?B?ckJNK2VXNkl3OEwxMXlxZWt4a3M1emVUT2x2OW45TE94YTNiMzkxVDU1R094?= =?utf-8?B?S0Y4eGQ3K2RBdlR0YXFZUjlWblRKUVhTbUNPNWJXdlU4a2hrcVpINkpZS2FP?= =?utf-8?B?L29xWmJzUzI1NHBKMENlYiswajkxNmFQZTFnT0RUNXJaRW5adjYyTHV0Rm5X?= =?utf-8?B?d2hBM1BMNlNWMUNYWVVxNlVuN3lvZnppKzBIaXpXRm1wakIwNFl2c25uV28w?= =?utf-8?B?NWIwSWNaYXpmNkZRUVBuV3NoaU0xakwyVkxqS28yMGd2T3BXVGlWOVhGWHFs?= =?utf-8?B?WTVTUWZzSWVjN2d5N29oR3B2TWxpdFlRV29LZlJUMjQ3M25iV2hqSlJ1WVZi?= =?utf-8?B?ck84UVYzRG4wVktEMGt3cVV5WHJTTmNvbHRwdVQ1Q2lIYlZ1MUo3WVFUYU1a?= =?utf-8?B?cHAwVGdyOGNFZ2RhVk9tejRhc3FUbXBYb2JFQ05FRjlrdWtuRWZJR0Y2aWor?= =?utf-8?B?bjRvMFhkYXNydThIbVJiMXBIUVZkeE5sZmdBeDhENlJLQlU4OXE0My82YlZH?= =?utf-8?B?QyswR2FqRG5nNW5NdTRtOERrZFZhWEozU0dsRGIxRzZuSGVFTkpHRzN5dzFw?= =?utf-8?B?OEFIZXAxYzZWdGJXTXorTEU1ellYck5RMGRvcEJZY0wycjI2aTREand6czZp?= =?utf-8?B?a1pLa20rTU1DRVlwTFpOTXJPUTY5RGhDM010MXczVzZucU1VNDNkWXRxYjEr?= =?utf-8?B?RDBzUUhhWWh3Z29hOHVLK055TW1PT3YzV2E2WTVJQTFqcGhFSWd6d1lKeDIx?= =?utf-8?B?MXRXd2FVVFZaVkpsN0Y5V1YzdStRS0V0amlXS0dPNU56WCtjYU5UcmFBMmRi?= =?utf-8?B?bEJnTi9kZmFDQS9VcXlhUU5hL1RWdlhyUVI3a3R1UjVaTUI3MENudUludXRv?= =?utf-8?B?WHQvRFF4TFdQSi9NQm5PbEUwYS9McXVEa0tLaXZGVzIxZUptSEQ0VEZ5QXBF?= =?utf-8?B?c1VmS1d5VVkzRHFCZEs5YUo0dkhiZlJmbzNPQlFmMDZjTFpuR1RNaXdPNEQw?= =?utf-8?B?eHpqMjB4RklwWUxqWjBya1Bydm9iUzl3dkwyRVVXeDJzUHBlSWNEN25tMW9J?= =?utf-8?B?akdOdGwya01FRmdzczcyUy92VmhVQVRXY2x3V0N5MHViVS9KWVNzaWhGeThJ?= =?utf-8?B?dXlHY1NlRzcwYkdtYWRDUXh5bTZnWlVOUUFiVThST2g2OUJzMmFUb2VBd0Q0?= =?utf-8?B?OHlxWWxhbHVhd1lTZFdJMVd6TGpaMnhoQmg0R1VhQm5Ld0U3UFBkaUlwZmkv?= =?utf-8?Q?Q=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;6:3KiM0k0GcxameiR9qmfjVoFOSIK4a+Rp//doYGQmdwfdHNiVG7X3gRJck5SDOT0OLmYmzgpEJZx7TX+XQJ790rjCtuc0EAAP3//p+jiGL3YMPx6oPBt+y4FddB6Y4JucX1yCqaPExkaOi783eKDf/n11z7wAxw2WDtzzt/h2t1XDXmkrCpMBrTLf4WIxZWSaE/Q1X9zhSXoN8lTIomtYJV1MBBo5wR7gsFG7xMBc/QT9KU/5IYZDGYigU1uMrn5YLs+JdD9VshbfaWJSBmN9ImVO2hMpPtLmTnulQ7VF5P6u3isZcC4JV3BDljJ0fAr+Vaue/1fw/q4hxIZ7av9RxzSDeds0k+7qn0vx/sIEbYY=;5:9VoSu3UnCGl6ehq7e9JHhSsBYV3vB8uiSzN0gN8SaCoDkeKFMNemUiXK5JqzIzYdQhjMXA4HXrmgNdHzjIxsjgkuhIu28W5j5fpSEbkyPyzswFcw2Tfb2QTQrlxqY4X/o1BgePUXT5n3NVIyN/rLHpazr40s0HmSCb2sF/K9IBM=;24:C/tnnuazB0tyyrX/6rHIhzKheUXANW4dJ8m359BUs9a507N3LkUBDHXHgIpdkWWjuM4wZIqPOtZjkja54RCi9ol9zxfIeqeOcnq3bq2LGlY=;7:B/DqtpMAK68CfezlmLdKIJVQhOmRaAVeXvG8D8xq1NM9ZahFA5yp6G1k6+I07x4zx6XVG7Rfln/Ku3ABc9iRIl74VlsS5qljTlkGkiA8KMWDoenCDLUCnvc1FA7f1+RRnmYQHvTRhkfBiE7lhqVfeQngCBACuWi/LjdxKdmsDrdjX7gfxulCfQpHL7Ur23L/2R20ovKEF5Ld26BMDYO6zJtGiTXReuVEdxAxCHyEKKdX75Y23EAEVHcGDwWr+GzT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;20:46NYLyG+ItqfTxMl58Q8H7IapuJ70JYEoeMsU4wVGNY1oNVcGcARrPjYeJfxFm3emCnkD/el7fpWIj0hEMvcNI7zrutlqdJ9eZvIaIwrrJSPQRi43Tila4G+r1ivuGnSBPQFOFJ5Ain5OWyjggQVoyVysomCvWE2DvEPPKexK6c= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2017 18:32:27.2250 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60391644-a1e1-4a6d-9fd3-08d530450e20 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1341 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Line up destructors actions in the revers order to constructors. Next patches will add more actions, and this will be comfortable, if there is the such order. Signed-off-by: Kirill Tkhai --- net/core/net_namespace.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index 7ecf71050ffa..2e512965bf42 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -404,27 +404,25 @@ struct net *copy_net_ns(unsigned long flags, net = net_alloc(); if (!net) { - dec_net_namespaces(ucounts); - return ERR_PTR(-ENOMEM); + rv = -ENOMEM; + goto dec_ucounts; } - + refcount_set(&net->passive, 1); + net->ucounts = ucounts; get_user_ns(user_ns); rv = mutex_lock_killable(&net_mutex); - if (rv < 0) { - net_free(net); - dec_net_namespaces(ucounts); - put_user_ns(user_ns); - return ERR_PTR(rv); - } + if (rv < 0) + goto put_userns; - net->ucounts = ucounts; rv = setup_net(net, user_ns); mutex_unlock(&net_mutex); if (rv < 0) { - dec_net_namespaces(ucounts); +put_userns: put_user_ns(user_ns); net_drop_ns(net); +dec_ucounts: + dec_net_namespaces(ucounts); return ERR_PTR(rv); } return net;