{"id":1296572,"url":"http://patchwork.ozlabs.org/api/patches/1296572/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/20200523004049.34832-9-saeedm@mellanox.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20200523004049.34832-9-saeedm@mellanox.com>","list_archive_url":null,"date":"2020-05-23T00:40:44","name":"[net,08/13] net/mlx5: Fix cleaning unmanaged flow tables","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"7e3993ac604d6cef5fadb4db7c7f78a14b0a3482","submitter":{"id":65299,"url":"http://patchwork.ozlabs.org/api/people/65299/?format=json","name":"Saeed Mahameed","email":"saeedm@mellanox.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20200523004049.34832-9-saeedm@mellanox.com/mbox/","series":[{"id":178808,"url":"http://patchwork.ozlabs.org/api/series/178808/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=178808","date":"2020-05-23T00:40:36","name":"[net,01/13] net/mlx5: Add command entry handling completion","version":1,"mbox":"http://patchwork.ozlabs.org/series/178808/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/1296572/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/1296572/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming-netdev@ozlabs.org","Delivered-To":"patchwork-incoming-netdev@ozlabs.org","Authentication-Results":["ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=23.128.96.18; helo=vger.kernel.org;\n envelope-from=netdev-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=mellanox.com","ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.a=rsa-sha256\n header.s=selector1 header.b=q2wSoC4h;\n\tdkim-atps=neutral","davemloft.net; dkim=none (message not signed)\n header.d=none;davemloft.net; dmarc=none action=none header.from=mellanox.com;"],"Received":["from vger.kernel.org (vger.kernel.org [23.128.96.18])\n\tby ozlabs.org (Postfix) with ESMTP id 49TPgL5N1qz9sRY\n\tfor <patchwork-incoming-netdev@ozlabs.org>;\n Sat, 23 May 2020 10:41:34 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n        id S2387496AbgEWAld (ORCPT\n        <rfc822;patchwork-incoming-netdev@ozlabs.org>);\n        Fri, 22 May 2020 20:41:33 -0400","from mail-eopbgr140080.outbound.protection.outlook.com\n ([40.107.14.80]:31363\n        \"EHLO EUR01-VE1-obe.outbound.protection.outlook.com\"\n        rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n        id S2387463AbgEWAlc (ORCPT <rfc822;netdev@vger.kernel.org>);\n        Fri, 22 May 2020 20:41:32 -0400","from VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23)\n by VI1PR05MB3376.eurprd05.prod.outlook.com (2603:10a6:802:17::30) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.26; Sat, 23 May\n 2020 00:41:28 +0000","from VI1PR05MB5102.eurprd05.prod.outlook.com\n ([fe80::2405:4594:97a:13c]) by VI1PR05MB5102.eurprd05.prod.outlook.com\n ([fe80::2405:4594:97a:13c%2]) with mapi id 15.20.3021.026; Sat, 23 May 2020\n 00:41:28 +0000","from smtp.office365.com (73.15.39.150) by\n BYAPR08CA0042.namprd08.prod.outlook.com (2603:10b6:a03:117::19) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.23 via Frontend\n Transport; Sat, 23 May 2020 00:41:26 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=QF7waiuJEgbaIeVHWr76rneUyHhSsqFAeQwbwEDDZhJvx0oweUk5DGKLPjzxSJBsz5j9NoRIyw3zpKLmc1J16GxHjkdwcWuhvA4aCIYVYLgGNKK9Fr97Es0aiCSAwNR2f5V5hLCaBQQzZrrJ3P9yklhG+hv0XvxKuddFo0Zl6X0imiqlDnMrREEVNskNiPjU+qOsYy8/+L/V0c0tFPW87FOh7XVu5BjAgFTksPx5DM4mBn7/HTvNaEBPvpgNex019tN1D7p+aaU960mujka31tGCCTuJUohXAoWFAikU+mGV5bsMiBZBFmjt9Olh7OWkveEYOiM66zNyU55qByf4CQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=FZ23Z/YcTNA9TwRVwi0GHHcQLLwgnWYJCFGbYey+KPs=;\n b=B02k0VtPCWiuDgdazpweSgP7NgtsjPCmRMQ7D4mFIhAeSXaUS1u1QPa3VklnkQM2Mx0qJzktyG0oxZz/dZiH2akQeypkzqRvYMx0FMfuY6KEBNDbXU6KqHNYyrU/w7CW3EBh0RpyM6UJtINLNLSXZkWQBSsukRFq1jLNGkJAhFCnNquMFnNG1x0a47i7x1rCN9vC5Hur//lLoJtOwMWqgZN+uZ5o/v4sH+Z0R4tWepWzzQQQ7bmRASbsPpEQy6/aFddh8uivrUIHediOyVi9OYXnGLbHvlGO4lffpAI9G6I3aXwfiXpMia+bQYNbODPI7wRwucsb74Q8Zrx53DY+Yw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;\n dkim=pass header.d=mellanox.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=FZ23Z/YcTNA9TwRVwi0GHHcQLLwgnWYJCFGbYey+KPs=;\n b=q2wSoC4htq7gTzGjVn0H7o4zws704/Y6pq0gnzC1gPdi9tHcdetd3170b4VdQ9svPnzYR7x/X0wk01BmWX39bsAzg2xQpEb3kGqdr9zEbMHAK86H2oayVA/oImSbGR3S8u7iYCLWviHCJ+LKXulUzkM6cUT7Ip5x8dWVxntZdXk=","From":"Saeed Mahameed <saeedm@mellanox.com>","To":"\"David S. Miller\" <davem@davemloft.net>, kuba@kernel.org","Cc":"netdev@vger.kernel.org, Roi Dayan <roid@mellanox.com>,\n        Mark Bloch <markb@mellanox.com>,\n        Paul Blakey <paulb@mellanox.com>,\n        Saeed Mahameed <saeedm@mellanox.com>","Subject":"[net 08/13] net/mlx5: Fix cleaning unmanaged flow tables","Date":"Fri, 22 May 2020 17:40:44 -0700","Message-Id":"<20200523004049.34832-9-saeedm@mellanox.com>","X-Mailer":["git-send-email 2.25.4","git-send-email 2.25.4"],"In-Reply-To":"<20200523004049.34832-1-saeedm@mellanox.com>","References":"<20200523004049.34832-1-saeedm@mellanox.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"BYAPR08CA0042.namprd08.prod.outlook.com\n (2603:10b6:a03:117::19) To VI1PR05MB5102.eurprd05.prod.outlook.com\n (2603:10a6:803:5e::23)","MIME-Version":"1.0","X-MS-Exchange-MessageSentRepresentingType":"1","X-Originating-IP":"[73.15.39.150]","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-HT":"Tenant","X-MS-Office365-Filtering-Correlation-Id":"98b01e11-b8e3-4d78-8bdf-08d7feb20767","X-MS-TrafficTypeDiagnostic":"VI1PR05MB3376:","X-MS-Exchange-Transport-Forked":"True","X-Microsoft-Antispam-PRVS":"\n <VI1PR05MB33769028FB7348E89E065027BEB50@VI1PR05MB3376.eurprd05.prod.outlook.com>","X-MS-Oob-TLC-OOBClassifiers":"OLM:1013;","X-Forefront-PRVS":"0412A98A59","X-MS-Exchange-SenderADCheck":"1","X-Microsoft-Antispam":"BCL:0;","X-Microsoft-Antispam-Message-Info":"\n a0w5129ObFwUpQN02dq4aUhRg0UHshQUCYlsKLl1JIcx3wKVpa7uI/fz0ptG4fQdCKT6WO9viHt83Cr5WK7UPZHP6rrcYJRy3ggkqABZZTiGfBxplP8axIvuuIeM3OKxDVSz9OMbjDzorDU7lAz1g7XQURbu7xdYH9kPvKthRk7BGZmK3Tv/+IM/u0PQxL3tEiESa5GoaVatG1c8TaTG43eRCREfMGFO0kvLNSaYZSlXEsRjolUSGTPnsppdZZ0KpC8smH0/X8z60ltyjsam7GsWr6jLuU5kIM1TiaoYDI2kcDU9as70pWU7OKNJI6I6zsw0R2A4SEj7RuY3mKQbHS1NkEp7ZA2WNaTN+44k3ukzm6jZBJaK5PI7fGgU/RN5","X-Forefront-Antispam-Report":"\n CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR05MB5102.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(346002)(396003)(376002)(136003)(39860400002)(8676002)(6666004)(478600001)(6512007)(66946007)(16526019)(66556008)(6486002)(1076003)(186003)(2906002)(66476007)(8936002)(5660300002)(6506007)(316002)(52116002)(26005)(107886003)(54906003)(2616005)(4326008)(86362001)(36756003)(956004)(54420400002);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData":"\n XV2uVx7qIWNVl7iw7pwV+6osE19Ov+gEaY9W7Kz2TpOTUNqYEIZG5X50NWzTnRkDmLCIlLxbZyKv2pCy5O4NWidXL7+FztAMQYEoCSlyPGCdYgoKlS5xnDnEPfLb9qzM4p3kgnNBEWRID6UPzeMrf7v5rbdXlJWrj3dGoJxU5F9nO1QxGnU/Z3oEXu01+TkyJ1ZSJDLqLadzsvJUbvKwNQuhGXKfnijLnF+O/RKxuiMfVYj/sxWPTXUzJTyfrfGNKUbGBTvm0sW6WrxIQuCXqIlt59XBnq2T/FsImnxTsm82PdTTCsJrTr/iTTdIU2Sdh+A7xZ+dgr9doy5BYLJHKnwR+RcLTaEhpPO4gm5bQUmrZi00gOJuL6GIqtlXCcO5TNm3g/cl8M0PKKuuirw7zgflosKqQ1tBu4E9YbUPe/Xj56Eu1jn5J1a2foxcZbPe29Cek4b7W2uQCr6UjpAHERvEwGc/HG+l/AmXyKW9/4Y=","X-OriginatorOrg":"Mellanox.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 98b01e11-b8e3-4d78-8bdf-08d7feb20767","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"23 May 2020 00:41:28.0013\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"a652971c-7d2e-4d9b-a6a4-d149256f461b","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n zONO9eWlxVsmAYY2BVG6IL+3ThD1XNlNcxPLE5Xh8Y9khWBowEdmhrUH+3ldOz/5AbQLfKGUQt4gM+cbfP2gsQ==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"VI1PR05MB3376","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"From: Roi Dayan <roid@mellanox.com>\n\nUnmanaged flow tables doesn't have a parent and tree_put_node()\nassume there is always a parent if cleaning is needed. fix that.\n\nFixes: 5281a0c90919 (\"net/mlx5: fs_core: Introduce unmanaged flow tables\")\nSigned-off-by: Roi Dayan <roid@mellanox.com>\nReviewed-by: Mark Bloch <markb@mellanox.com>\nReviewed-by: Paul Blakey <paulb@mellanox.com>\nSigned-off-by: Saeed Mahameed <saeedm@mellanox.com>\n---\n drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 11 ++++++-----\n 1 file changed, 6 insertions(+), 5 deletions(-)","diff":"diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c\nindex d5defe09339a..8f62bfcf57af 100644\n--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c\n+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c\n@@ -344,14 +344,13 @@ static void tree_put_node(struct fs_node *node, bool locked)\n \t\tif (node->del_hw_func)\n \t\t\tnode->del_hw_func(node);\n \t\tif (parent_node) {\n-\t\t\t/* Only root namespace doesn't have parent and we just\n-\t\t\t * need to free its node.\n-\t\t\t */\n \t\t\tdown_write_ref_node(parent_node, locked);\n \t\t\tlist_del_init(&node->list);\n \t\t\tif (node->del_sw_func)\n \t\t\t\tnode->del_sw_func(node);\n \t\t\tup_write_ref_node(parent_node, locked);\n+\t\t} else if (node->del_sw_func) {\n+\t\t\tnode->del_sw_func(node);\n \t\t} else {\n \t\t\tkfree(node);\n \t\t}\n@@ -468,8 +467,10 @@ static void del_sw_flow_table(struct fs_node *node)\n \tfs_get_obj(ft, node);\n \n \trhltable_destroy(&ft->fgs_hash);\n-\tfs_get_obj(prio, ft->node.parent);\n-\tprio->num_ft--;\n+\tif (ft->node.parent) {\n+\t\tfs_get_obj(prio, ft->node.parent);\n+\t\tprio->num_ft--;\n+\t}\n \tkfree(ft);\n }\n \n","prefixes":["net","08/13"]}