Message ID | 20171231161513.25785-16-idosch@mellanox.com |
---|---|
State | RFC, 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 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=<UNKNOWN>) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="QkppU97B"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z8lpN3TClz9s84 for <patchwork-incoming@ozlabs.org>; Mon, 1 Jan 2018 03:17:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751260AbdLaQRP (ORCPT <rfc822;patchwork-incoming@ozlabs.org>); Sun, 31 Dec 2017 11:17:15 -0500 Received: from mail-eopbgr30047.outbound.protection.outlook.com ([40.107.3.47]:24032 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751145AbdLaQQp (ORCPT <rfc822;netdev@vger.kernel.org>); Sun, 31 Dec 2017 11:16:45 -0500 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=oiSRAXuSqixgE4JigreCoW5GU7l3xmqVu4IuPUnFcVk=; b=QkppU97Bf37z6ksI8PZdjkZe5Enh+K5ZfR/K9jPPlzWy7Xu6e2Sk6smqzKEktDLMIpoZzwahbCL8+pDWoSMeB71OUQjaJ8v7VMpZxz2fHSPjvcNcrQg48G/1RhTxcnodhPIxcgGbpcok1WDztzb7eOE+1bQUOx0AuM5wXfonlhA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; Received: from splinter.mtl.com (193.47.165.251) by AM5PR0501MB2001.eurprd05.prod.outlook.com (2603:10a6:203:1a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Sun, 31 Dec 2017 16:16:36 +0000 From: Ido Schimmel <idosch@mellanox.com> To: netdev@vger.kernel.org Cc: davem@davemloft.net, dsahern@gmail.com, roopa@cumulusnetworks.com, nicolas.dichtel@6wind.com, mlxsw@mellanox.com, Ido Schimmel <idosch@mellanox.com> Subject: [RFC PATCH net-next 15/19] ipv6: Take table lock outside of sernum update function Date: Sun, 31 Dec 2017 18:15:09 +0200 Message-Id: <20171231161513.25785-16-idosch@mellanox.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171231161513.25785-1-idosch@mellanox.com> References: <20171231161513.25785-1-idosch@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: AM5PR0502CA0020.eurprd05.prod.outlook.com (2603:10a6:203:91::30) To AM5PR0501MB2001.eurprd05.prod.outlook.com (2603:10a6:203:1a::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91087f58-aa69-4809-2128-08d55069de65 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(48565401081)(2017052603307)(7153060); SRVR:AM5PR0501MB2001; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2001; 3:DvIZ5LJArl7r23Qqx3YuxlKVCUUoeAD0kzt1tRvhamDV63qgViaiz4K/klmQtVuK4C/FBJStmVE0RNfHTivSxfRT4r9kBIHGgJvq+Y8K3Mv2MqDTWbvNDC0zPJflOqp78yS8AeqsONUTh2sx2XCpkh5L1JAaDJcCmJ4zGKaoDiJJlwZbhjgLW9V6waRQtBD/22+qOboncReHCu5TVy9XXat+zJpMRpgelHHF3SFmZ7ZPJ9uHRuDpgQJYhsvu2GUL; 25:dO718r28/5ctQsLl5xKpVmtdlm99VK5tmP6dDDFCFJ6TqyvF2rK0tXaIH9LG7kXvNyWhJTTTtL68jzh3n0T1LlnFSVludgiDBPFb99QZsUfE1VL3hW+17FTBwy70zoCAz6A2yYekDvF3dkYxFyPT4hS2aE8lXZxBkhAcid/+DI2luUJO0atMPGnM3TniOTgNHkSY4jcy5yAArTPwI6RSuxrE3LG1vUzT1p619nYDYd2M/XCgi1sArvpVPQ6NyxNoqTkOpuX6b0rSZFNandYi2498U2L/y9/LRCTzMc5/HC6yMTFsW6+8ETyFFvVc5nR8OojTYBr4zamMtoHhRNbf/Q==; 31:xaF5mH+DfQ5+FZ+kOH7ReK0eISeDXNjd1D0DjFH8TQ6FmpaQF3jgcgAXFFb25/Yzx48tV1KyuV1P7JxS3JjiUvH20u0MlFQt1wDmP1HOuQGIUgO90vUdR9uxROxxc4d50LR62UWD5ds/efL51Hz3iRrEUn13Hxe4xZ+Eq3MitHzAiJncaBWMzQImpo7PjWfPWM602F94sPgn0q9YGuGwtCNR9f9PaDH5ULBK3domq4E= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2001: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2001; 20:6hOJRGXZbx2Vgwa4Q+KoQxASkXaJhVFiaF8EG8uQ1LaDPXhkN9vut6HTaYnlbN2aR7lbNV22RBSJk5yBp74MhKvLpWJY1bpDF/pgshaweL4oKJP8hTquIbOFUiBrJOSyedX8Cd2+h7q2rG2br2l6WGQiaB2gCIQG3VuS3q/yuTQs7KDaZ0O6CtuAbnFJgXDk7tuJ1kbWGVysmCrAr2NiAWzjWWX21IeGnrJm7XcAJHDp+qeriFADYUdzXlaK0qaR6P3YuURCNY2jcAzbFzeI+esYsREvnc7PoPNRp/MiuDYMUBkEA6y/vvvsPXTCnsKrMdPY645Qgd+Rl3Q0DZ9syDBexrPqAYnza8407iVLA+HWRM2cW2LKPAaEnjpqw8TVmSbxk64Y3UIuVU89lBnaqK/IWuNrpTrai4/DsKxH3dnVtg0JnHo4kdgauqmnc9zqtbaRZ23Zb4+eVTCbjGuvBUo1qSBUUCLt0a9Hm1Kz+y4nMrBrlZlBLwL6Mvj5nyNc; 4:iXjnc/78ZDEDmdEkVtDnKBuh93jfDlN88r0sst/e6tf/Zsdtgdxf5ANYFUgdCSUGqcjty4f0lnkhmr22qsTjfVPfWNb2y+uy02AMZjVaDeAvFX4XlTjRAf+Emq4bPDhZngcbVMtoqEDkZKTjKdI0qN+87e3KMeywvI7zQQQysdBQYpJjycbXapMMrqfw0HPoYhJJHbZ2LM49pvd704CWXEarVv8fkBtNCGHHo9Kwr3+y4qbtS7QJjWyozEPH0wgGbWzEOwgFGa9n8czkk3E+QA== X-Microsoft-Antispam-PRVS: <AM5PR0501MB200118CF54B4E535DEF00DA3BF1B0@AM5PR0501MB2001.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(3231023)(944501075)(6055026)(6041268)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(6072148)(201708071742011); SRVR:AM5PR0501MB2001; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM5PR0501MB2001; X-Forefront-PRVS: 0538A71254 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(346002)(396003)(39860400002)(376002)(199004)(189003)(106356001)(86362001)(305945005)(6512007)(6486002)(1076002)(316002)(81156014)(2906002)(6116002)(3846002)(16526018)(16586007)(8676002)(5660300001)(47776003)(15650500001)(66066001)(25786009)(6916009)(2361001)(39060400002)(68736007)(105586002)(6666003)(36756003)(51416003)(97736004)(48376002)(8936002)(4326008)(52116002)(2351001)(59450400001)(7736002)(53936002)(478600001)(386003)(107886003)(50226002)(50466002)(2950100002)(53416004)(81166006)(76176011)(6506007)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2001; H:splinter.mtl.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2001; 23:66+kdkeUAhXJ3ZEpltWICVq2Rytf6uTHC/hNBGQrYSxVSxjipIa3fIdqzQ1CKB2ew0/zgS7F87z9/wSE3TyHRRU2NMCyClGyMFCVO0TE0PfL0VTjP8ITukcrc3t/O3zNccYynJXhUZ8wi23EOaIyMzOADhpW8lDBapVVMCPbl/OzAq/25XpNbUz10eYEiA+I1z63WhuFjTtw114uMU+kIKfxRtkj1iC0L3NbVnvw3oFdOoAs2Wgokw7RvYfpk6K2yMrMLpxTsaf5grjTNNIlXZJFf+3H0fH4VlwY33yD/c1uFdq2iIKQqtTbdjfWN7znkl3Tob5L6fMLur+xGxa2qiEGNUOFdRKGX870O/GB5CtrmyUODX9990KFA3qd1RRbhG/RfbkM4/dgal3dgmAqRuI6qeGJOTWRDixi4NcqApy1pFhJW/rSUcCCA2ZTAE9y04sS3mDz4GvVzcHNVHyBUu2HXbGMW2WQ0Z7ygc2PG/pmtwAwstfpFW8FYkN1mPLDhoS1PKB9PhNTL3TtgNT24AowL/QC/jAUNUFqQvoh7l5UPCyfO0iOb+WBRm52xobZksrcGAIgGW/1ZpuxP0r+7qG+F79iFDVNOckGyXrPxx7SOKaGecfsftjVuvaV1NyFOfxzBD3xDsmOQRsYgt2nKkLaPBAHNwJKDlorB3gI2ZiVOwfcttH4jPv/rIac0JcCirQpxvlWezfo+oKlRiQ1CLKJKAc77eH28BbbkZS9fYYBVboKESnVCTg8a0DpjlwKelMYMrKYMTCcRuOE5/OGj2kLkiogK/YILimX1srlF9ZmZWpyYczCEEE8stH4XXObLyNJWFTeYn9d5M4BMUoPUpfR6ffnil97zm8V3GGRfM69EvdmfAfMNqrbr8QldLV4G+OXTO59X4tf4SGqvVZw1Psc70vPTrosL5gszbh4ARjlL/P6hnMXI5LmgA/3yr7QjC5YVyRUfiZFOCmMCPnh4SnyJhO2fZyluJgifQFD1/ItkFzs5PBWVjzZ0eCFeft6VgMM0t1N3fg0SQQnl7sVpSCR4OCvZMzeCjEn86sR5im4G1+4L7Rov6RGM/3cbL14m12kjbYuac6agKQ8C4ZvqdMjQ1kCtNAraLQb5TeIAWRZzO+vickON2sDOwua0cPB86FcoIm2mMv1EHS/YnFOBf4iKd2X+FTTW1Cf4YIOtvPx5rEW/cc7Mh5yegRHiLSFpSgSsDNHz0vula9f72ndCfafFD3IO7HY315LgbqF6hBKknusXQou4G3CgodUqY3k X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2001; 6:abDEECjdZadstIRNAgmESeqzhoAtdkDYi6wP5PV7evjCULOblSwG4w0ve2CnWK5Ub3VlnnKVJPLOACVaUPmgmlRqyCH1Cb7PO/PfvXkeFgduYZKHXmzAC+FXWCO6fiGHND6ssF/YFSrtQdR85v7hU06ovK3TL+/g1bu3VO/xQecneF8JwU1P6tGIWWLkQHyUWDLPKRcoKjcj9vTzHLIY8W5yPIkFsAIZ4hIhXlzGrjAXZJ9qEW5V+rX0kO+ADnjNlI/8PQGQGMosdXDiqjLpQTNPZTgEauqCyzKlS5nCgUjSVi6i5nMdfTPglRN3/dP4UbY0+wniNbwHUhrd/+5StjF6bAFM7jAYeMblIMh7tYY=; 5:jukx8wEhnZbkDMgqrKly5jIfHqirHpSPmwPpkeY/IpO6AnAhprF4dtWGySG8orUIuDZVmaNcVZZ9cfT6tYzGZS5KYLaMMUZ0A9fVgK1/LchCuB+HAoR/TEb90FGw/u5CrFddJ6+4w9fCya3QDTHx5Esi/6q+dy+hdcdP65gk9fg=; 24:BpQ3pO+rmDQipdV4Ymd6GocKIJ/11JtRp9kua31vjOBe/JR+EDwGG0w1/3SEBMTyG8ebn5nqq6Mo8RBARy24ifIjmRAT8Tk24q9bWExscuE=; 7:9foGNU5p3ISi31g0DSNcjr/1dFqlG7ivlGlPw5fytjMavS8FWTnv4B14vUpdzZSPMzlrAiUAtas0ipnhCSUMfgZasdsWYGGkvC+2svzAgaD+OLaGysMKiZzOeLfDj9ToKrUjy5XxdiFc8eDyDoBWQdQTbv8dEafOmt2bu1elWfPVj5oF+AYLLOlrAW2TTlJ0RJsxzrvgYJXHujStVCkQDwIAd/3fAu/6Wd1P9bOuUJs08/ZCP6YEZuJrs2bUELXL SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Dec 2017 16:16:36.9813 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 91087f58-aa69-4809-2128-08d55069de65 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2001 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
[RFC,net-next,01/19] ipv6: Remove redundant route flushing during namespace dismantle
|
expand
|
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index c1bbe7bf9fdd..edda5ad3b405 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@ -107,16 +107,13 @@ enum { void fib6_update_sernum(struct rt6_info *rt) { - struct fib6_table *table = rt->rt6i_table; struct net *net = dev_net(rt->dst.dev); struct fib6_node *fn; - spin_lock_bh(&table->tb6_lock); fn = rcu_dereference_protected(rt->rt6i_node, - lockdep_is_held(&table->tb6_lock)); + lockdep_is_held(&rt->rt6i_table->tb6_lock)); if (fn) fn->fn_sernum = fib6_new_sernum(net); - spin_unlock_bh(&table->tb6_lock); } /* diff --git a/net/ipv6/route.c b/net/ipv6/route.c index cf895989f2bb..ab95e07b5e74 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1353,7 +1353,9 @@ static int rt6_insert_exception(struct rt6_info *nrt, /* Update fn->fn_sernum to invalidate all cached dst */ if (!err) { + spin_lock_bh(&ort->rt6i_table->tb6_lock); fib6_update_sernum(ort); + spin_unlock_bh(&ort->rt6i_table->tb6_lock); fib6_force_start_gc(net); }
The next patch is going to allow dead routes to remain in the FIB tree in certain situations. When this happens we need to be sure to bump the sernum of the nodes where these are stored so that potential copies cached in sockets are invalidated. The function that performs this update assumes the table lock is not taken when it is invoked, but that will not be the case when it is invoked by the tree walker. Have the function assume the lock is taken and make the single caller take the lock itself. Signed-off-by: Ido Schimmel <idosch@mellanox.com> --- net/ipv6/ip6_fib.c | 5 +---- net/ipv6/route.c | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-)