Message ID | 20170408114159.12722-3-idosch@mellanox.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3w0ZMV08V9z9s7s for <patchwork-incoming@ozlabs.org>; Sat, 8 Apr 2017 21:43:18 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="Oh+lPj5O"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752226AbdDHLnK (ORCPT <rfc822;patchwork-incoming@ozlabs.org>); Sat, 8 Apr 2017 07:43:10 -0400 Received: from mail-ve1eur01on0054.outbound.protection.outlook.com ([104.47.1.54]:7168 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751532AbdDHLnC (ORCPT <rfc822;netdev@vger.kernel.org>); Sat, 8 Apr 2017 07:43:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=e0k5crWniSjc7KZ/E4J1BHpIgymwS7o/HCR37JyRgT4=; b=Oh+lPj5OvTeWd50f0/tf3czIjkJm0kuTzULCuLKky+WgCzzVzHkASL3Gitj6QCMsYjGPSorNLkhJoEJ51aE5WuDbOnCtkpmp77z4A46+RivCb8MNmtMflyCkL/gnHKEE/hMuH6ufBx4+oowIp6ZWjozPF/3dnFCuAQ+WqOQqYJ4= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=mellanox.com; Received: from localhost.localdomain (79.179.30.84) by VI1PR0502MB2992.eurprd05.prod.outlook.com (10.175.21.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17; Sat, 8 Apr 2017 11:42:57 +0000 From: <idosch@mellanox.com> To: <netdev@vger.kernel.org> CC: <davem@davemloft.net>, <stephen@networkplumber.org>, <bridge@lists.linux-foundation.org>, <peter@svinota.eu>, <cera@cera.cz>, <mlxsw@mellanox.com>, <nikolay@cumulusnetworks.com>, Ido Schimmel <idosch@mellanox.com> Subject: [PATCH net v2 2/2] bridge: netlink: register netdevice before executing changelink Date: Sat, 8 Apr 2017 14:41:59 +0300 Message-ID: <20170408114159.12722-3-idosch@mellanox.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170408114159.12722-1-idosch@mellanox.com> References: <20170408114159.12722-1-idosch@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [79.179.30.84] X-ClientProxiedBy: DB6PR0501CA0032.eurprd05.prod.outlook.com (10.168.78.146) To VI1PR0502MB2992.eurprd05.prod.outlook.com (10.175.21.18) X-MS-Office365-Filtering-Correlation-Id: 8871396b-8dbf-4616-d3d4-08d47e7468e7 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:VI1PR0502MB2992; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB2992; 3:3xv6Z5gX8TuWxK9RFIkXYn2Ub0raj3lO5LrBIdy3MEyM3nrUFan0Wv3GuWE0iuN/RnJzBVErC0OcFmReobHc8sWFLZjXmqpgyvP3ukVnpJTEIkFH/5HWvrrN6EhPqnBe/KKWYx/iYt3e3XSmYWVuz8YW50f0UVz+UAgrOemdjry3f8vNnp9uF8CzCcqZVyqI9k1GnY0Vul861R8EbbJzoJaMC59wOgJ+nhDELpKKFHBmD4xHAgy+hkAbluVT9P+J4q4D9cnyUhcWxrlJSY3AndhOlPiVepOeoiFRc90NMNF+3yyJnevbbkhqh1hvti6chMb0adtwbtTf92rbEYhUiFPcWEWiVM6MYH8fffMtA7U=; 25:0LJZu50qqLECjk5nabal59i+1vd3FwdH6q6ySluWHIQHh3fTPKmsUi4NNLKmPMbFAnmtWP61KkXHc7S7LPyxCNtxzOzUkXg82+LCbom+8JOFQrN3VVKayqkxWmv6GJA1ZDyFmT0RVWgviYShnIfDE+css7KRaLqXx6H4wsUV41C2w/oD3xdKh+n+JbFiXs5SSD7V8kEpgtsijnho/d2CDEpBS8RxS1K/tM8KynXbkYDNvCa3p2e4k4CzSAu9sgr+zQrpkKetRebfl4SDVUo/Tk7uDCeKaMVpKtKQgXPRtwD6yuvdbHvLqRVzC1Db0JXnAdPlvpz18uJPQ01oim0ms0rR8FtXJUlmwIH4EVbJXWDpdVj4AvRriRas9PdyrElvfyCXhpRvBeKXSdBZILfXChffzDiKoZ55xqoriL5yVKyMnHWD24oh9rVoS7NItig3INpbflWS7KmGtgjbjVB+GA== X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB2992; 31:fO+HGI6mRRLSn6b4lRX0GmCc6KQFfJzmk5IQ9t5JpIYgUAgJXI22/M7veJTh4Z9jzpDl1H2c+zh8crxGzQB3ptr9s9PX4SIo21YpsYHS9mcT1QPSFcQ/BD3/sikEeDWLCsFiHrsDqMrZJuAEPy1qCIz+WXqRs/vgg71YLlHxY6nwTRde0HzY4A0+3296rIBzsToDdoGEEdEMJvI8GbmW3OFIlE6ce/IdDd479GLabdI=; 20:sxeM/NqtxwviQqo5VyGHV9pxksI3/HLHv3t76QyXhCbCzGkeVksWCOnqZIwkRell4dlDBeOhVsqYTWPRT5K4wi/GYgNQKsCrEJTZ8a+AnST2dbUhOmjScqQs8W+TyB3g9kURhUPdO/HMe+O4KQIPxE4NKxOFdzkfdBklaACqNZt0oFBTXI7sCOZnAMqtfT6QBJD0cO+CDd4vdSUETxs0hLBUsr5jqTsUGReodZwHk1BVFWaB+/yeeY0AyHcw4be1UXactb/2zBWr1/a5k538VSG8/DvQRLfNSCTujsHkkxBJ3awtz0HaJPvVY2TlyG1u1VI/IYOAJFrH6jYnsbjMZZtb95yzxemK9x7E9//KwhHzSrKXj8qZdzG3LjCzdL1/PJBJOUzJoWsQBeuOhY5F+bD7AhAVwTF/qkk0x1Z3r42CGkoGlSKk5WkinOCcKXHESCHveNuIZFJZyp4mZJrE/wFuUNP39Kc1gu4gheVVEkJqf4w8l/iFplymPipUFcJn X-Microsoft-Antispam-PRVS: <VI1PR0502MB29927D39B51D0F7A0BBA8E56BF0F0@VI1PR0502MB2992.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(6072148); SRVR:VI1PR0502MB2992; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0502MB2992; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB2992; 4:uASW6X+10J3P+HdYbaQ7zAq+2qFtQ4os/6nvHUOrdH7nexeSRj6n8au4KXFawCLWXYINqG+QG9flmb0Y+3iI9LdMZxxb7HxsnqLyIHlImAnkahX9nfKiqSrRlStU/MKGppU5Zdst4/cqGvvWK6pzQKWoLRQk+eTM1tmYL6/r2QIiOAZme+8ms8SY7Twf8Za8X5ca2NaLU9yOa7AE0rc+ZgyTtan45/cuXR4TuI1pfDqH5X8pq21dhDeMTQdSKtQ+MXpKxsXUyhg1vQD1yTGemHwn3seMbMrRxbhOuH32D8YZyysfbKAotFQzcbj4RS003aQEQ5Sj4lYRCh7+Bhh9E+PIe7nOktEEkelyKHCsnLUqj4ymOHvghNosnlqeQBcEskN5AD8dn0+AFZ+15RnF5W5nJjbIjYo2W4KxXEoq9dL1XKOFuVTHlBR2BVOVAz71BVPjXfwVc30KgE84S1PuAdeNIF1mZ9r1y5+I8CH/doDY2x0Ktl2eHyxjo9v09QFK0u+1SF6aXWXiAv6ZfNHouU1x6eYVhjr4Q05e2QQ2OwCkcEotoM7IMv6Ud/p9cXAqrysPud0Sr3J2YdCaLUvHnJpaVQ0wNXDkMVTGXGt0lVV8syAPGKoUjaynRY0VK9NUye28ym8p6SkGNW+dGNjUK5OhCoPdyRPu0lvhnb5nKfX+NjDJpRy0LWG5wUqxDj6dZ52oY/9+tfyoLVUXO40YP8VVaGpm5AYth8xtJglC8KA= X-Forefront-PRVS: 0271483E06 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(39400400002)(39410400002)(39840400002)(39850400002)(39450400003)(66066001)(86362001)(47776003)(107886003)(38730400002)(110136004)(42186005)(8676002)(4326008)(2351001)(81166006)(25786009)(33646002)(1076002)(36756003)(6116002)(3846002)(7736002)(305945005)(50226002)(76176999)(2950100002)(6916009)(50986999)(50466002)(53936002)(6512007)(2906002)(48376002)(2876002)(6486002)(86152003)(6506006)(189998001)(5660300001)(54906002)(5003940100001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0502MB2992; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0502MB2992; 23:pJ5O2u5qNsAZIdcGoHYeu5MUi32CZCi7Pzn/re2?= =?us-ascii?Q?kXLvw7H/YTfAJV7K3mZY4PSDRZnwEzb6gzFjWT2y6byhCpMTzysz5YJvQVaH?= =?us-ascii?Q?18RTLbxS+pO5+8TMvgd6pjbosn5i8OQ1dgQhQUqffQCBpNdpzE4cQ7tdmMVl?= =?us-ascii?Q?jOS+kKPROb2lPdJsbWzR4p7CMC2zKO7G+EtwC1D5u/ir5nR9rKnBGgRnlUCF?= =?us-ascii?Q?xCONSret40EMdH9cDLkgYz9lShUIk/S5B6+gJeWtEsgaT8yJm5Ry9d4TiIpz?= =?us-ascii?Q?k1uBJudeXx+eT165mWjUVqQJyT/KH6AQjcKpoeWfWs3EY5GhF4Km/I9tvBHo?= =?us-ascii?Q?aVECPs9YJSu+4cN+1iNNQqYG1jfaPPL+WXcmoxY4TBRuAO+MUeCXqsq9Nv9F?= =?us-ascii?Q?/hHhD1uiSj+cK4bMXk0GNIviOI6SpBJGXLxlzFqQN6QemdkiVJXuGK1U6K5V?= =?us-ascii?Q?daDYErK1kledg9lRNJcf/lGE3sE4J0YKq3pojc1bkgSeqnAoXdgAqCxj4PBL?= =?us-ascii?Q?zFYsTGVyKzX0AudgPehsKW444R8P/Nnt3ikKcxI7p5Y5FGNzjsTycnqLkB+U?= =?us-ascii?Q?ggRjn8q2c89O4Y3RseVftNSSo+6uzce7RXWdo/B/vmZyCKoBBIFPMr2JI+0J?= =?us-ascii?Q?crMe1bhEyo3jnhy0SDFaSDkNaB3syr5cPq4q+E/IkdYbIE6+TsySQPn3+nP0?= =?us-ascii?Q?qIvHhVgDwtOdz/qQOYeUaIMYCQ5BsjoSGfIe4XqlkOgiIi/LQI0oe/EvA8KS?= =?us-ascii?Q?h0sNnrsXBoNZHwK+c0QoHltbSq1syFrm6C0nYW4z9O6bb0jDvOaXmayQPKQE?= =?us-ascii?Q?1GRmJHwbYfQ7cPOZcviXL4qRAipOgo4bN1uZHfOTsPUS8Kk6C6BDaHIe/SFS?= =?us-ascii?Q?fbP5z4zLOiJ2Ig4nb8hdeo0Da+cTVHtf6Z2m6BBpfXWvoLxPrivLFV3dZy3N?= =?us-ascii?Q?oGNvMcwILS6qiLzURirevi4brSbEY5RJJcGFCmG62VtGtXwzfchWM1X8YZuB?= =?us-ascii?Q?v2PcnHPIMVHcebxsoRn94ElbmWxuLjTSHBLNWlsJ7C+XnLZMICUK+jf3Xt80?= =?us-ascii?Q?bBPWa+ibYMbcfe3BrlAgVUZBr5Vc4wjlkaOPP+DRNxxeGQMdX+/1SPe2wXX3?= =?us-ascii?Q?cTX9aVkKoptc=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB2992; 6:L4kuxIFApfhnkNfna42QfFI+aMUORtdiJi9XVqi4iQusMXNJvuZzR6XiMuBAsmg9vyoG3B6JVRvK3c5VZEEeCypFIkCNy2Jf+cWE0/XXpXV4lP0e0h2QNIAkhuE9lfZcFNQ02kwuWWQ7MM610mgV3pjMs2T09aGhuRJMyh4KWVZkIZvg0hKGAMAsk29Oiwkb9vwG8GFizxfll5VyJcF0/hmsoIjBs5V7rtyT4bAkO4VIt6KYkPmYrDANPDetyMNB1NGkhwRT1THgZ/Gju0JP93j4iUL6FdecFSIHRRLTW2dsgIYhyinK7ddR3nkFUmv7qkwXFkYRzbNgOjaxSAT1WRn8HpPLiOcv7ZkD53bC8Gc5SUVfxh+Q2R4MdyZUBi0hO1p03fyfKERXxBX9Z4oAiU3OQIdodyodJfiB9SVyz3dW51wwnSvb6/I/MmAPZrmETPymldql/LL/G75JdK2qRhjNPawFvrnIS6zYzmW0nB8=; 5:QGP5TAX84j0oJCquQ4QznSpcFaEUs8bqByI/BEXecY2AGktvzvqpEmCJOA9QxMAf+OBFaMy/DibhdIyPUEhaNcP3Muwj1wkrpGUIMylpnnJkqvDobKsf4FqQpI2D4rxhC79Z0Abr40FJ0cf2VEv23w==; 24:Xepkshn4odksW/eou+SbkzBUbvxDnTxO76uD+5E+jROL35AMCEUF9FVrvphmWxV7H6Yd90AZCYTUOv9CxevNSIzQBITqzd9ipZfwolSczyU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB2992; 7:xTxOR3oBq8WWKCbYmUE7NodD9HElmZ5x7XqeuSsAy9SXfyTrSPLI3D3n9JeHi9oOmHaU07Z6khSXTpfeHkcVHErEspftyqV720sUZwyevV4E7aNF6pGe6A5L8uqCiH7Qg9V5UNBcSEHWMj7ofhIkHtsk07sjv0sHFzxi9ZAlpnpfQIN2fQL4LV+Qa647OlyZqbPuAiDrfgz+cT1cBmVqdsldxjYX27IEsjkLL8XDd1tZZuhswl+541kUP7kmsOKm1+dVYzf1gXtGiPH/g+4HuKT4F0Vx9s1pHjSZVZxXt/SREM7KfFKjwCGd/kJgvkUSt9uLDdzIxLrtklr5/1fEsw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2017 11:42:57.9428 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB2992 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
On Sat, 8 Apr 2017 14:41:59 +0300 <idosch@mellanox.com> wrote: > + err = br_changelink(dev, tb, data); > + if (err) > + goto unregister; > + > + return 0; > + > +unregister: > + unregister_netdevice(dev); > + return err; > } Why use a goto? just do: err = br_changelink(dev, tb, data); if (err) unregister_netdevice(dev) return err; } The goto looks ugly
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index a8f6acd..c38104e 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -1165,11 +1165,19 @@ static int br_dev_newlink(struct net *src_net, struct net_device *dev, spin_unlock_bh(&br->lock); } - err = br_changelink(dev, tb, data); + err = register_netdevice(dev); if (err) return err; - return register_netdevice(dev); + err = br_changelink(dev, tb, data); + if (err) + goto unregister; + + return 0; + +unregister: + unregister_netdevice(dev); + return err; } static size_t br_get_size(const struct net_device *brdev)