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 A0A58A09E5; Tue, 8 Dec 2020 03:58:33 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2203572DE; Tue, 8 Dec 2020 03:58:31 +0100 (CET) Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by dpdk.org (Postfix) with ESMTP id E7B64A3 for ; Tue, 8 Dec 2020 03:58:28 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 07 Dec 2020 18:58:28 -0800 Received: from HQMAIL101.nvidia.com (172.20.187.10) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 8 Dec 2020 02:58:27 +0000 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.49) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 8 Dec 2020 02:58:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m1vqd8f+y9PTj3KSlMZStvdPVCyOk0LtSSopBR6RuCD6dxy/0Czid0PNS1OfbZkzUu8lkbGI1TlH3gIjnTiaqTJUBbQX7aa/YjSBqMZFzZxjV961APs3VPCIhUGsuec7anF9kbkLTtJlEuxjz6JsXzYlu49wDb9C0sKv4oiG1ArUPKTZ/8J876wN+r0+CdgP7SP+Rh5JkpAViDS/sGQg7b5ewlRZIrk/E3vRWSpW/U+3vga+dRpcg1NwpOnVTCMKrJq/OjPzPiyl8SHUJ4k77XbrSIdUm68fk6l6EZsRI+q5x6kjEphKfH7+BBBXcUhoGS5RUMswbgITjm6B5/Wrtw== 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=vsJxpnSmfxLDuhHtR2nPDvDRNHLanXYnKJbhb/6XCiE=; b=N0a7X3LAKy4MXNUatzmEn4pADwYQy7RW4EIRBiI11ZaywQPMIT7/qrjGvh32ivuOZH55Q3n5gAa0hjjsg+gNAIjdJ4FSebfvLqaYwvxElWtUI0dxBZn7B4X7HEMyFODnArzN6MNPnizTZBA27v508zYI47xnsvUWt3qTV+Jj5II9o6H8BuEeB/QWcfzqSu8lXoyftda/siec27rkeEvV/pepqSSzugWhhfqX80nykMSICL/tGfGyisbIroxuzdr5UPI5KByx32x+G26qyE9og6l9JIkVIXWuEGd9OkTwbY17wW2cmp9RSYm7IkYjtjVQTzt4tSgsXVTTpz8CnMIOdw== 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 BY5PR12MB3811.namprd12.prod.outlook.com (2603:10b6:a03:1a1::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.18; Tue, 8 Dec 2020 02:58:26 +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 02:58:26 +0000 From: "Xueming(Steven) Li" To: Gregory Etelson , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh , Slava Ovsiienko , Shahaf Shuler Thread-Topic: [PATCH] net/mlx5: fix flow descriptor allocation in Direct Verbs mode. Thread-Index: AQHWzKUtgk5WIHrtDEOtgMhKRxPpCKnsgVFQ Date: Tue, 8 Dec 2020 02:58:25 +0000 Message-ID: References: <20201207142738.27945-1-getelson@nvidia.com> In-Reply-To: <20201207142738.27945-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:57ef:1006:697b:e6e4:ae2a] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 20863d96-82bc-4849-75b2-08d89b252221 x-ms-traffictypediagnostic: BY5PR12MB3811: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Uf/xu7CsmJlvqx5ZUBtXzzwcSvw4rQBdbCppDC6lOxafBzu6LBnz7usjTqZ+q43LcUoPQmNUkRiKDncBp+WBE1ctxrE639cKrGYTRTwoMhTk6NCTqXBwCXQk5TJEQiXA4eGVeDlgYu5EkYRUXuwtVfrLNIXUdrBKEUp5Utr+D7vV0iUrZqIvLXA9/kBqFyvlZ8/TdNEsX4Pkpqs0k3Nd2qySnnKNx4ozaau2Y7jeeiry9nbd1IvJI078iFcLMsCEvmYR0YgrmXUmMp0YG6vKlNyfqgtUWPIXL4F6f/z+gNFoA8dHKNO9fttWzmCqTOrP 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)(136003)(376002)(39860400002)(346002)(396003)(366004)(86362001)(76116006)(4326008)(2906002)(64756008)(5660300002)(8676002)(66446008)(186003)(33656002)(66946007)(316002)(55016002)(52536014)(8936002)(71200400001)(9686003)(6506007)(54906003)(478600001)(66556008)(7696005)(107886003)(110136005)(83380400001)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?/5vg23hIrezOCzcIu6ZQvy0RaCoBEP6E5UPCyAt9pYA82SeNTXTlbBDeJe4X?= =?us-ascii?Q?w+vTVVi04g3ANoKZX6DdBibyWuPcyeepXN5Auw2V2lPp12jxfbnzJ/0CvBeC?= =?us-ascii?Q?3Szei80dQ1wNmcPSx6szRLg1e0ClDzyDzCZwsKN7gjv7n5gY8YfJiGBgSPoT?= =?us-ascii?Q?JRFo+6BiU1yXC85l+sRM/e8dSyt1F8gvHrXsElDjL2rxTHIJtth1RibbMYJI?= =?us-ascii?Q?612EoLxaMdFwiR3qFIw4ykr2x62sQDZ0N1/EvPV+mnhXTG2zhjgET+c2aT6N?= =?us-ascii?Q?wAOKuR2pwnSfQ0urQMMRl1k2w2FBZyey38lLVY8mfhsym5D77PS7t4iV70Uw?= =?us-ascii?Q?Kd7pu81cCosfuz7F3/xEUvvee+6/Iimrkvoam0GVJAaPz9HPNLVX/aEFsyXb?= =?us-ascii?Q?TRkFkswymYw/GgSaeSgQs0QvFvYjhANB2j1zHAx7d6t/4lAGqgAT8rDqjrE7?= =?us-ascii?Q?PEDsivDIgR9MtewzG8FD0rRaElECCoD7CxpiVUBVJKDmoKiHPB9tHyaNAKLR?= =?us-ascii?Q?NBlIBdYZ1Pq5epmhe6VFP0qGcUwffLTpBO3xhENz0VANbYChN97Y4n5VEfTR?= =?us-ascii?Q?hmmpmVM9zRIovzT38+dRLdZ62X8esLrnoK+JEYW/yOl2iGg3Dr9/WYSngBso?= =?us-ascii?Q?xHz9NCXm+X9xirRHKJxi/QWKT/xTcynlD/I3SP5CpFAQ+4UUczBmca6Spo5w?= =?us-ascii?Q?1pxw7adnrPponyrcZjUlLLhmPOaEXaUCE+5/ChyZPAA78Oe/5pYiShxNAV06?= =?us-ascii?Q?l2YCIYcSQYKDZiu4fPKZy+/Iqd3qDfjln4g59KVQX1n2KXtg0n2KUKuTG8gv?= =?us-ascii?Q?uclaxTBdA60BXPqFIgdnALXoISjjtFfShMl8RMKXDkX0AD/ZviW7YVrD9rhD?= =?us-ascii?Q?NZFLGGbe5jO+qPhoSzBHKEDxykdP2UM7lIi2fj+AB6hm1e5QUBFbu7OrpIpp?= =?us-ascii?Q?iG2jG5j3NVDMXNXVIeuYVr2MWDni8vdu3vwqNEzvY/oNwYOVkb8W9Z43iUFo?= =?us-ascii?Q?XI5TATG2d9cMW9x8WTvuzEpsufTPMuc7nh0X/4J3HmSCCbI=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: 20863d96-82bc-4849-75b2-08d89b252221 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2020 02:58:25.9786 (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: h6xS+85aTNg9deFEaldwTWxB9VVBXkcHAI8+hVbLTNLnAnmNORHnyOjwPeS4Y1QcWOwS7M9LhK7vdnVU72tawQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3811 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1607396308; bh=vsJxpnSmfxLDuhHtR2nPDvDRNHLanXYnKJbhb/6XCiE=; 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=jgViRA3GRRMFfyfIt+T2l+FRiE1GRHRHI9B+KnXumCiaG8qCS8M8yvzpk1ElI+j3r kMS0ZAigf4bfd9FeSrzmgWCHnNX2SdFI0VIVSyhmfbJV3N3cFgX0lzZc+3zMZFtOq3 q1dKEsnje3vpEzebpyaXCAVXv2fWBsa38kh5LnmW2TOVXHN6JoFj05HEMNiHw3x1ip UN6hvr5aJw/8/bUSsQw1dAocM6cs1rmyRJjftjhwgaMlEt1rNkX2yXhE2PFq5RsumU N0s3OzjQK/yucMxDJUU6LFRupJ7eFqrqp0q01hnVtaA2af9OVhCx4mqBqyLnY2rZPB zvzadz23THxDw== Subject: Re: [dpdk-dev] [PATCH] 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" Hi Gregory, >-----Original Message----- >From: Gregory Etelson >Sent: Monday, December 7, 2020 10:28 PM >To: dev@dpdk.org >Cc: Gregory Etelson ; Matan Azrad >; Raslan Darawsheh ; Slava >Ovsiienko ; Shahaf Shuler ; >Xueming(Steven) Li >Subject: [PATCH] net/mlx5: fix flow descriptor allocation in Direct Verbs = mode. > >Initialize flow descriptor tunnel member during flow creation. >Prevent access to stale data and pointers when flow descriptor is realloca= ted >after relase. > >Fixes: 8bb81f2649b1 ("net/mlx5: use thread specific flow workspace") The initialization issue is introduced in earlier patch. > >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..c72f97e05f 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 - 1 < RTE_DIM(wks->flows)); wks->flow_idx is used as "next available index", should it be "wks->flow_id= x < RTE_DIM(...)"? > 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