From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0045.outbound.protection.outlook.com [104.47.2.45]) by dpdk.org (Postfix) with ESMTP id 8C28E8E01 for ; Tue, 5 Jun 2018 02:13:32 +0200 (CEST) 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:X-MS-Exchange-SenderADCheck; bh=C8NxVZ1OBApcv2W0RBnPD2YL2NEOZvVHosYKK31UFSo=; b=e34xhLk+iHwIW8wrfFEA0Ko0MLwpFQ9gqucC/6qzjvGAbQURa5VRh2J1/scQkQYFMPAhA4kau8gElNudJfn8jKDH4RYLQu9qCqrKF9h1CPtIgThryY4z5byP3wUYWii+tJoXN3tAPXE+Ya5b+Rew3eEZnZBqmcH95Lte5xgZW/Q= Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Tue, 5 Jun 2018 00:13:30 +0000 From: Yongseok Koh To: yliu@fridaylinux.org Cc: stable@dpdk.org, shahafs@mellanox.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Date: Mon, 4 Jun 2018 17:11:12 -0700 Message-Id: <20180605001129.13184-51-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180605001129.13184-1-yskoh@mellanox.com> References: <20180605001129.13184-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: CO1PR15CA0060.namprd15.prod.outlook.com (2603:10b6:101:1f::28) To AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2036; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 3:uUS5ORjAgruhACeBTKJflcTXXNKoK0t0OrQYsQvi2WNAv/3jgXIOA4etAE1aSa6L1kIgy7L1JbvIlxuzGpAiU1rjZzf9C9LcVIehcbxTNe9Yr86cGlX9l/SQMxC/onLPgRhpk5CR4LgNJ8od968AFCMQ9fM8N2EM8PrPITyeOZltduZm/OsakZUtLREClDc8B7PaXWG1kr21kN4F0aIJYtihX5mWyxLDH2OP/LEnIqRCMOGK6tszaQLhfhERYknk; 25:tRpNfLSYLezzcP6p8NaLCgKS4Gh99Q0jFJSmifOxo3NKDrj9skvPevUlUnHCqc5ICOjix3Nx5jBhB0OoLDKF3p8SphzJulYjMb3Jb1UYv6yBWrUPP7/9AsvukZj2Tl4xAdJkqdUUsBoITt5COWBhG9O/41jLgxsoqIMuZAOB67O9zCJPDhJR3EGB7Hx8x9h8+WfeCQZfELFhK2aP9e+YjCNL6RxduxV/FQmWYm/tOeTknoZ144PsCaAiBk2VRve0HTZ2O/E0Ech+okMXRW1p1TLXKTRmxxb5VCb/FqfhDHXxx3wApWLQbxQl6xPRcRXD6qp+ikN6tqe+Etukfg69og==; 31:EripoL1OUT/cLR4RdooOO2PTqtCcIgf4ki/ztK71OmKUYYVJADA+6D6OBATjmMj/H9iBwABbbCitoAYn/lOEubceGtcAeATIW5Cm0eiNKTMYBk0+HmloEewJ3kkl8yHaBqOkGtdUQe6f9TAWEFvASgLUk3UnIN7LOzHVFG4P9mmXuUKcJyhh1xdGm+n8qYI3sbsK/IAK13oIzNU0JlhFNaQ8anUBJzc1CcNhw6p1vkw= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 20:EmArScChdkVFLwuqlFFCrRxhZggkXF8EKlxlHkYYG2YslRiifLXyp0KayZ2o5C/xrv7/TVoFac8s0dHqFwWktTA/qGtgO1B/kwd63O7Rxe77PJwHvkVJcIMvI3dlIW5ochDQFvnyzFZwrWmGhANSfJFWMAZl/vFTw0Zj+obN1jtUPeAQX2hDnWG110QTfXnPoRjmI4vqJacBDN1BH1lpkmxWzs8OrBIDBQidPN64APqfeItdwRVugxuGidqVFmTvrIiAguLyOdrzeCmXBDZFlCYRrVI5r7BXRyaRz+bjrhrbh70w7R17NVsKQ2MeWc8nS4dcxF81heDWE/rkgODUWJGp6eprA9VcI9S8tOXFASM5aeMIFQ9GCJt5l/B11OvogaAxKS81g0KYcfX8UBIYg8UV/d1jldlp3mzbyMO7SPQRrhRWtl9L7O3t5bTTGi9B6qk0cDS/xegJ/pPPDPqgzwXTzGqzt9fKdTWhno20xPQwR+R8e/7z+2eK1lY8CUQB; 4:r70tpvh7guPdkiZvlQ8D11JlktLXXRZaKnZPCtxz/xkRogDMD+DGkNyog/7zLu1bFxmprS+x6SmHF8rwtU/OgVvLtAYV5N/rwy59hv+c/f2D9REXvNvpwc02zlrXmqcrQa6CR5hemFXdYNSurNn+zGHzs5wmaX8WEFKZZ61JgRrwxkBbOeBbN3lg/b9TcNfVtp3FcBCIfK8GoKoYVHccL2g7HLt2sWuDS53cHZBNtIEYKgNqEB7PldQmRg93XQSbuBl3P25MKdfjnnCGxufwnA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(39380400002)(366004)(396003)(39860400002)(346002)(376002)(189003)(199004)(478600001)(81156014)(76176011)(51416003)(7696005)(956004)(2361001)(50226002)(305945005)(2616005)(50466002)(47776003)(486006)(97736004)(5660300001)(6666003)(2351001)(106356001)(8936002)(186003)(81166006)(52116002)(6116002)(476003)(6916009)(386003)(446003)(11346002)(59450400001)(66066001)(26005)(3846002)(8676002)(16526019)(1076002)(25786009)(21086003)(86362001)(53936002)(4326008)(2906002)(316002)(55016002)(36756003)(48376002)(105586002)(69596002)(68736007)(7736002)(16586007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2036; 23:q4pgH4tttttVG2CtpNe1mwgZiV4IaksMQVJvT0b?= =?us-ascii?Q?D5CqbI5EE5Nne6lPwcJxd/BhczvN58RsKSaHux3owlWnaxhPPzjioGSwLhns?= =?us-ascii?Q?t31igfSsMZeH7n1bsy1GQ/xvJp7MKMLgQNghPKcmHGJ68PPIDPim2QDglfDc?= =?us-ascii?Q?2jGhaNCo+l+F27aUBsTJHSS8Wz1BeuLIiBrj0SKPHEo2ALNgfq1YOTfRTFj/?= =?us-ascii?Q?PnGWm0RwawVeejemIIb5tQqKEOm17IHMJW1rzRryYgAXReAWDYVfg5WWOKVL?= =?us-ascii?Q?hOv3YH4O4yWZgByIAGJIawzpDBJb49baMJS+Cr3VgrWUVE3HWduPKeyWqjEY?= =?us-ascii?Q?kJ8RbiTqP3Z2pM8Gt6ax3S9vTAZazPE4Vr/k7OITlBcTDfJlOiIJ82w+QtiT?= =?us-ascii?Q?+19TffMgkTnMvNbjXzAqLAmfAU+A/1rlZ7lZaD6XiZq4Wz6PZpz1bWyqy/Xu?= =?us-ascii?Q?cRgftXUOdsWz4KSIzgudsZ/sPmHfytbn6coYFzSTLQM4WlHbsBq6OGooQ0j+?= =?us-ascii?Q?WSRwEbGUi/xYpc75XwhHFlW4ubkJbgB860FVOnBjYBc2phgUmFRTTApRWazj?= =?us-ascii?Q?scRQ7VHKk1xgvTnnCt3x/fXgHhaht2bOhh64HfXWjiqBJCn18xy35mitWrAO?= =?us-ascii?Q?kXGL/kgczoAVqMfzvpeeRFjvs/JI99lUqOHgDOM8m4GKt9qTQYiOwAJpkr88?= =?us-ascii?Q?9HmuoPFhLhvVuTHfa/mWLiSEaI2yIIG/W7MkDL8K3KI7N3j59Dxjgo8nsdQz?= =?us-ascii?Q?N3JBg9t7BOeK+3DeMXOJmPfqcLPgLEuEr3wworROxs6HeZ8vp7opGgLVUubp?= =?us-ascii?Q?JaTaHDX509ctX/GXDxHpHHoAuo1hAgbRgjbwvSy8y5ywLpULOas0GKy9G5Us?= =?us-ascii?Q?l6197UAfk9U8T5y9U5QGyMpyqAILANBuxncokk7E6XW+sBCXEJMIL0ftcLLg?= =?us-ascii?Q?qVTqA+Dwdsg4GFTtwj0oMWEF5ZWBQTZFtTVoJxDuzfPQ/v4EtITPIVDtY29e?= =?us-ascii?Q?TYGcJwWu/guDxB75JqDC5rTj1jRVmBIub2cOBZrORTiL7MKUdql1IjJwb2u0?= =?us-ascii?Q?y3ZFtW1Z3bc2367bUumnp5Z3Ug4WtMUfnhIwjS6MyL/jkUCRvt2iNRkb3LzE?= =?us-ascii?Q?a/EeaU/pnyucmnMArx6tR6fTBx9LOPdtIle/kqb9lXEzb9k4owL3RlCoOCGy?= =?us-ascii?Q?FrLXi1aNIdm1FFwEBHIco/ifDHNAZzXyk6fDTTJQqxgDI+QT81de0kgJ6CtH?= =?us-ascii?Q?YflPgBtP1Yl43mdBBvQPpL1L197y2biltb/upjlK7J4uZ3AVJWrGCbQluLz7?= =?us-ascii?Q?D57rtPEST6SzmxNavbqGMPO0=3D?= X-Microsoft-Antispam-Message-Info: TDTOVaEXSKTjW+6oHaYdXzqHiybLFJTwvAE0ZW8xGQSRoEtQugA0gQ2HdFVt99hz2CV/ZLnrIiEu54FlGPVTL2DqhFn02slNXYJFGi8ECK9t6tpjHmyOmQOCkjXcySXdgqT23dJk4uYgDLJkgLoPj2XOyLseYu0zTCivouUsvyp0c7e0ANzzcPQVkaZ0iiXC X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 6:3lqxOH4KF54Mc+P7P2rfjg5yyP77BIYVufsfbtUT3DEIzccTO/MXOHpuQyQ+lOluCwsjVa9azjQldfXFzsQ9oGdYwK8ROFP+JBmlwpmY8PGZv3PXa6w7AhzCShfohlQkEqSEwA1HELMQ1P4TUfqx9+w4DvdQtAvzbBPRHpdiK4ZFjoY5bif1spfG2r8umeEn8KXqYe2fjYOV/DcTesT6VoYe88S4WHdwq2+6PUGedkW4cO+FT8EtbMjHgPQoIbe+OLGO7nzxEEdoEsh2IOzT6Ozy6GaZPys76ttonL2PRvFNSbVd5enEIYRwDVz//qdkLA4BoPH2gGj5Q4vYtmAotGsYsE8v2PxevChsHE8ycdrkf1G5cr36cWE/msRtr7/d53+BICLElqFPdPgQGJ8Qdj2DS4LbciQNkh6x4JtufADuFs3CH9drRiRoNGDdnYSkurzAGt9QambeAgtrEZJIFA==; 5:MVHNTLU/xzwno5b7qesA/BFPbtMhDt1IKn43/fN9GaRnEkUFmjzJcnuT1Aqan84dGgfT3WDBR43VOJx2B2Fshv/c/YxPZhj2DGXW9GzIbNJk+bOZRvruefoeN8CMHuX5y2sCwlRdGFDMlAkch10jW8LWGWwdo5ezb38Ng4T/X0E=; 24:OlxLmP6nEQibJw01WbeySsC+Nsaa9pjfrm+nSy8VFZPOnPzSw8utsyCw7/eDI3BkTDZKvaaEEHxygSjsa8WcrsUjhOZdcR8M0e+CwSiii1c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 7:6XH1JOsYsGDyBqmwqu25dFjFzv0QboOb048HnWSAptVvHTrcopFAl1kYmhdZxfAFZon0bDks3dIiPU22OnPnVcKkXGevU9taxf62qtRxfF1Vlxh4yhau5cNKOA2MH6KeqZx/CeVfbstttaSPT/qKYGlLdsskNbp9t/WSUDc4Hx++L22ay0PNdqN0aprkoCmXZTnqqyoRosoWdI0XyUFFzGxiXkZUqmvkX2nmAMWJ2PodvWyFqnTaiWqIoqhMNHH7 X-MS-Office365-Filtering-Correlation-Id: 42432d41-5492-4477-c7fe-08d5ca792bc0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2018 00:13:30.2950 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 42432d41-5492-4477-c7fe-08d5ca792bc0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036 Subject: [dpdk-stable] [PATCH 50/67] net/mlx5: fix flow director rule deletion crash X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2018 00:13:32 -0000 From: Adrien Mazarguil [ upstream commit 6f2f4948b23643d279f38d38f988b122f393270f ] Flow director rules matching traffic properties above layer 2 do not target a fixed hash Rx queue (HASH_RXQ_ETH), it actually depends on the highest protocol layer specified by each flow rule. mlx5_fdir_filter_delete() makes this wrong assumption and causes a crash when attempting to destroy flow rules with L3/L4 specifications. Fixes: 4c3e9bcdd52e ("net/mlx5: support flow director") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_flow.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 46fc7c49e..425fbeb40 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -2954,13 +2954,13 @@ mlx5_fdir_filter_delete(struct rte_eth_dev *dev, if (parser.drop) { struct ibv_flow_spec_action_drop *drop; - drop = (void *)((uintptr_t)parser.queue[HASH_RXQ_ETH].ibv_attr + - parser.queue[HASH_RXQ_ETH].offset); + drop = (void *)((uintptr_t)parser.queue[parser.layer].ibv_attr + + parser.queue[parser.layer].offset); *drop = (struct ibv_flow_spec_action_drop){ .type = IBV_FLOW_SPEC_ACTION_DROP, .size = sizeof(struct ibv_flow_spec_action_drop), }; - parser.queue[HASH_RXQ_ETH].ibv_attr->num_of_specs++; + parser.queue[parser.layer].ibv_attr->num_of_specs++; } TAILQ_FOREACH(flow, &priv->flows, next) { struct ibv_flow_attr *attr; @@ -2971,8 +2971,8 @@ mlx5_fdir_filter_delete(struct rte_eth_dev *dev, void *flow_spec; unsigned int specs_n; - attr = parser.queue[HASH_RXQ_ETH].ibv_attr; - flow_attr = flow->frxq[HASH_RXQ_ETH].ibv_attr; + attr = parser.queue[parser.layer].ibv_attr; + flow_attr = flow->frxq[parser.layer].ibv_attr; /* Compare first the attributes. */ if (memcmp(attr, flow_attr, sizeof(struct ibv_flow_attr))) continue; -- 2.11.0