From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2B8EEA09E5; Tue, 8 Dec 2020 09:41:06 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6CAF072DE; Tue, 8 Dec 2020 09:41:04 +0100 (CET) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by dpdk.org (Postfix) with ESMTP id 7A49772D9 for ; Tue, 8 Dec 2020 09:41:02 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Tue, 08 Dec 2020 00:41:01 -0800 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 8 Dec 2020 08:41:01 +0000 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 8 Dec 2020 08:41:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KidyCCsow1wXN/v0I4oY+VshTmpKZcGjK4djIC9VfkbtZiVBKJU9GkV7PvovFYs92R8gmvgBRVz+3FBI/N6tQbOZ2mlBnWJGyS1+xCTnpaUr2hjvvMw3PIugk/NXsKRFrTRjZrbp+qW2H+/TXofYfY3zHmGcs8sYRAdPELdkjujgcxvx/ZE6aWyAId09/jUpy5FatcLUL3Osj16qxzYezwY4WPcBwqOnvvi04g8ZGaXDBhhIJFGnSubWoWJfy+gW1LeM9cdyUCe1kzYkThkRE+1ewJz1+reK1/CCNjuE7wT5u8Gkj0e82oyTIqBh+dSAwjvU34bgj04giEhzZ2gs3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=maqllwIl4H2G/mrepfXenjVLaJwTrkmcNpe185ctY7Q=; b=NnwZSLC8sa+xApvpvFqKch+cosBUGWAgc2ajGUZ4osZr6PrYZHR5ZpBAUT69ConLKscAc1ipeUbiCSit/ldnMEScFpr9T3QVx0+LIgDlDyixVBJmoTHUGXHXYRL/MnncciDfBMvdhjLq9wD7V1UWlGo+fO3vlIvFJ1K7OUvoStla6AJwPahaTJgcdVHApoj3Gt20vdHKtIDR+bp85r2EmiSYKC6YVrjzqKbaA/UgW4PvRGRdiPucQWWRPD04r+mfDo1lXJNuKyl6gt/ak6EjKphEzQ51CPG2RxxFQOx+8mgLcOeDHCVUN+6B/iHo0AiQHMG2Az1zyjJ1tjKR39hYmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from BY5PR12MB4324.namprd12.prod.outlook.com (2603:10b6:a03:209::10) by BYAPR12MB3367.namprd12.prod.outlook.com (2603:10b6:a03:d7::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Tue, 8 Dec 2020 08:40:59 +0000 Received: from BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::31b3:df5f:7d2a:c610]) by BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::31b3:df5f:7d2a:c610%3]) with mapi id 15.20.3632.023; Tue, 8 Dec 2020 08:40:59 +0000 From: "Xueming(Steven) Li" To: Gregory Etelson , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh , Slava Ovsiienko , Shahaf Shuler , Bing Zhao Thread-Topic: [PATCH v2] net/mlx5: fix flow descriptor allocation in Direct Verbs mode. Thread-Index: AQHWzTrBEcVvFYDwI0+/Rrc3swopB6ns4OwQ Date: Tue, 8 Dec 2020 08:40:59 +0000 Message-ID: References: <20201207142738.27945-1-getelson@nvidia.com> <20201208081705.11751-1-getelson@nvidia.com> In-Reply-To: <20201208081705.11751-1-getelson@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [240e:46d:a980:959:21c7:b22d:3b8:6ae5] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 39da3f1c-d393-41d2-067d-08d89b54fcba x-ms-traffictypediagnostic: BYAPR12MB3367: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FV8Seh+PLhuB3rZ7ABNo63ScJhuYmaIOs9bOxMlFRI8z1z4LjAuaIuMUSg4Uhd2owehq7woazLncJ1CAFIt5BJrYI4xWaflsJKxhs+0igdi4McDosuHbZrTq174/7QSsZT8LhRFCspcm0QL7iJSNtalf658UjxTv1jY3foFbrP0VITzDo27MUuiGNGwdWNcaSxLSBwxCK9FJHKBR3H79QCVkzKuigF5/yxEBhT3SvuAkYWHR6G4quIQURD6pYqTNDyXzht2px+PxfXbQq3h91/jttiFnaY7WKVjiVqzk8OX2MsMyM0v25YlzL6jsj3Ic x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB4324.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(346002)(366004)(39860400002)(396003)(86362001)(2906002)(33656002)(66946007)(66476007)(5660300002)(316002)(110136005)(9686003)(4326008)(54906003)(55016002)(8936002)(478600001)(66556008)(7696005)(52536014)(6506007)(83380400001)(66446008)(71200400001)(107886003)(8676002)(76116006)(64756008)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?dDwph/IfkLTQ4ZTmek6N1UAiwRKRk5XwjYhqxco+MRYcIRTEaGkH0m0QaVlA?= =?us-ascii?Q?YludUoME4/QFE4mxuk5MPYcff1CRHAveRSsMRYq9QD32K84v+ZRl5bAiZvnN?= =?us-ascii?Q?G5nXyYCHifyq9SchNXnHCbFPMYCQvPLQV1VsrcpVhNxjFn1Fz2H+niOEsQQd?= =?us-ascii?Q?+hGO5GHxnQ3dmspdPpIL4WxvDzvmJXG24YNmvZSzyJKCcx3ywiJAU3Z2xBJY?= =?us-ascii?Q?6f2TfS2aRnoTloLxQ+9VyOi7drxiaa4cbHScp1gvQ0B7BqEUqtQ/QeV5eY6E?= =?us-ascii?Q?ZbX0Gml3a4JyYVRlik0DNkJ/7D73Fr+O1+2nmmh7oNhJ/WzqWSEo/63kFRWn?= =?us-ascii?Q?ncuqYtBYex4owkJ/ISxY1VFt54PhaDMfD1XQo+caNOrhCDR9UxE+s9pRudUD?= =?us-ascii?Q?HcwKAvwVWMAC+FOLg+Xl8f6AVC+t8KeXjBmbj1jbtdzV6RgEw7ri0Hr76fC1?= =?us-ascii?Q?usY6vAIkPvz8u8zkoLxqfBbWI4LZ61FxJGcYK0SJHKeWJUVLZY2zea4y/1s1?= =?us-ascii?Q?lTV8Lzz/tPxuVp15XlSCxqyMwsb+YBG7MIX6B05DQsCxQzt7GhxFuxu86uE8?= =?us-ascii?Q?EucaoLXSYaAHWLXgjY7TbYeEafiEM3rjxYRzculPA5M7l/Z+8+Q5jNbNR28i?= =?us-ascii?Q?RbKqvCWJLT1ZsWi2hPrf39jdrJhJ4qgoX/ZfGV/rYwOLc9nkchdfwf4V1rc8?= =?us-ascii?Q?7Cyaaw7PuTR9+ewnBCR4uTdOwilLvnE/I9ZqdF5gg2T0QFKt1XIlaf8EdVlg?= =?us-ascii?Q?D19EIgIO3mZl8xborp8RhUIRW+7PszsiU6/bMTC6jTtM+SHv8Ono3e1MJ/bg?= =?us-ascii?Q?26ac/edpt+PUYXYhKotbwDvORd3bb82SphxVO4diJZC4qfpfu4bvi4iSxUCB?= =?us-ascii?Q?HZnDcG3oZS8PRcdMPc30mpWGGS6l16jQC91Xd8wEszHuBLNrMmO7zl4byK01?= =?us-ascii?Q?EaKNO+M32yCKMV8SFo7XPfIevvwbcRl8MWIWvY6WNDhv20g1Gr7Cfmc1BYTp?= =?us-ascii?Q?RVXPNq0A9QAVfGAn9AP0RomG2H5oDfT8QfT5BCuZyQrNMvM=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4324.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39da3f1c-d393-41d2-067d-08d89b54fcba X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2020 08:40:59.1039 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: em8WUvqUpgK1DZ+iJJEPEBOVxID5lggs5pqNp1edWVw7kagJGU5/cUE0y9mFneL6cPGsb7+M/pcIQrEYxe7bkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3367 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1607416861; bh=maqllwIl4H2G/mrepfXenjVLaJwTrkmcNpe185ctY7Q=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ms-exchange-transport-forked: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:Content-Type: Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=GHgIQR8uV9bxS0qc1ILqXUGljy0WkBtgubRpKGrv0Fsqd2JLW3S2W/1DSrAbcuxYe Cbh/7Hig5DCX51En9rnmGcUSFjICLPLMBCjFO4pdQBfXF17Jb0M/H+p/nEkVVEwyMJ IqkXnpJJKxpx6AHc0jUhkbcgQYyHiRSpKez93gnoqQlYoXQ2fnmMs77qUpxq0R6h4p 4BShw7j5aLKNejmwZ9fZjaEdTtevOg2xlEqGFI9eYxYavCtlE4+WFT9nxRNprc8dZ4 e6XQ8fsSLJ/tUzsmLzngqiI8i0bhtbn29MzrVobS3Z+AKXdm9zxVXfcyWgKMhwUFys vb7NmMbIaEgfQ== Subject: Re: [dpdk-dev] [PATCH v2] net/mlx5: fix flow descriptor allocation in Direct Verbs mode. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" >-----Original Message----- >From: Gregory Etelson >Sent: Tuesday, December 8, 2020 4:17 PM >To: dev@dpdk.org >Cc: Gregory Etelson ; Matan Azrad >; Raslan Darawsheh ; Slava >Ovsiienko ; Shahaf Shuler ; >Bing Zhao ; Xueming(Steven) Li > >Subject: [PATCH v2] net/mlx5: fix flow descriptor allocation in Direct Ver= bs >mode. > >Initialize flow descriptor tunnel member during flow creation. >Prevent access to stale data and pointers when flow descriptor is realloca= ted >after release. >Fix flow index validation. > >Fixes: e7bfa3596a0a ("net/mlx5: separate the flow handle resource") >Fixes: 8bb81f2649b1 ("net/mlx5: use thread specific flow workspace") > >Signed-off-by: Gregory Etelson >Acked-by: Viacheslav Ovsiienko >--- > drivers/net/mlx5/mlx5_flow_dv.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > >diff --git a/drivers/net/mlx5/mlx5_flow_dv.c >b/drivers/net/mlx5/mlx5_flow_dv.c index aa21ff9613..8f7085c951 100644 >--- a/drivers/net/mlx5/mlx5_flow_dv.c >+++ b/drivers/net/mlx5/mlx5_flow_dv.c >@@ -6232,8 +6232,9 @@ flow_dv_prepare(struct rte_eth_dev *dev, > "not enough memory to create flow handle"); > return NULL; > } >- MLX5_ASSERT(wks->flow_idx + 1 < RTE_DIM(wks->flows)); >+ MLX5_ASSERT(wks->flow_idx < RTE_DIM(wks->flows)); > dev_flow =3D &wks->flows[wks->flow_idx++]; >+ memset(dev_flow, 0, sizeof(*dev_flow)); > dev_flow->handle =3D dev_handle; > dev_flow->handle_idx =3D handle_idx; > /* >@@ -6245,12 +6246,6 @@ flow_dv_prepare(struct rte_eth_dev *dev, > */ > dev_flow->dv.value.size =3D MLX5_ST_SZ_BYTES(fte_match_param) - > MLX5_ST_SZ_BYTES(fte_match_set_misc4); >- /* >- * The matching value needs to be cleared to 0 before using. In the >- * past, it will be automatically cleared when using rte_*alloc >- * API. The time consumption will be almost the same as before. >- */ >- memset(dev_flow->dv.value.buf, 0, >MLX5_ST_SZ_BYTES(fte_match_param)); > dev_flow->ingress =3D attr->ingress; > dev_flow->dv.transfer =3D attr->transfer; > return dev_flow; >-- >2.29.2 Reviwed by: Xueming(Steven) Li