From patchwork Thu Jun 8 08:03:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: liu xixin X-Patchwork-Id: 128391 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 20C6F42C5C; Thu, 8 Jun 2023 10:29:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0F3B740A84; Thu, 8 Jun 2023 10:29:20 +0200 (CEST) Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01olkn2058.outbound.protection.outlook.com [40.92.98.58]) by mails.dpdk.org (Postfix) with ESMTP id 133C840042 for ; Thu, 8 Jun 2023 10:03:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SX2hyc3w82PmBDDhSs59weo5JARrhFc+6c3Nfc90AQf7lymWn1Pv6pjHpEDvSeUgNFkWnnIxSAH2cZ5ajX73Jhm16A9Zh1eC3t6oC7z4z8lLVoNdM3tjzAzdn30TDfnBj/OeeywSRjPBauiiKoW/6tXvoZKRzzDzz5cfb42XCqvdkGEsFQU0s+YCOKBu0fapmvgAsjG1wpx8shu8UJjEdNupXCYs+zDdXSyA8PXLcXqpTzxSa/fxtjQZWTqs+QziGOEFUNn5kpGFGvXmikcIaXEGEElVtMcFtpRPvA2QQDtk78W79W7a8FbAlQBX7cqCDPylrbJPFLKPBN2+Zc4sWg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XJMox7kWAyjWThOiqAygvo5JnwWWGrD5hr4rQ6K/O7E=; b=A5zdil1UnQFegcszd4z0yZsvjT6NvFLF2sWgqDPxD5mwUs779vhmu8UQgS0y67O6Vw+Ybd/tc0tCQwY1obNpXil5cyarNhzvAKJUVo0Vp43GWmfcV4HdBBJ0Rqzy+WtVW6LiXVXlZxv8gDTZoGPttAuh7nNqlqdiIQ/ErFNhUUogbT4xlOXL8sIBgRjZ3N7bbTtXkUue6Sid61LO9l3ahNguul87pz2sKy7hhgMBCgDadcissEMlQ5ZFWHb3z/jk7RGHVzB9mQLnGYkDMONoFUitoRXKc1W5SWDBjvMGQOqzQF0jFXX3eq1gg0pPH4uefU7c55XofVAzlHnOtwGHIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XJMox7kWAyjWThOiqAygvo5JnwWWGrD5hr4rQ6K/O7E=; b=ARp0e58Gm6VGIC7MemZP5ZwJd/xysOxW2rh/gEj7wF5BLmkeUjC0AjtDKVKQ8IcaypjdHc2NioRahsi86ySY8Mp2eYfXNm8UzIKtTTpAtSK6KvDeiGvp7QmqHmehV0tUax8/wwpx9gD1OYuA5SLfYNsR13S0ckctHovumXwTRJhgD/KTUFEKoIsrQurjFeucytRt9oZQdHJbKdLg8pCY512Esupxs/Kj2CE0TuUDDNrfEeRTwoqrfNIRPgN/SCOwqGEbdRuVxtqaJc2sESgoG2HrNTG0MBlrkNOm14Zdlv6PmUSDGJiFSsqq4PKDIRFfTVP3N3PgIbsQWLeqABYLbg== Received: from TY3PR01MB11575.jpnprd01.prod.outlook.com (2603:1096:400:377::7) by TYCPR01MB5709.jpnprd01.prod.outlook.com (2603:1096:400:a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.38; Thu, 8 Jun 2023 08:03:52 +0000 Received: from TY3PR01MB11575.jpnprd01.prod.outlook.com ([fe80::4e42:45ce:d6c0:1fa0]) by TY3PR01MB11575.jpnprd01.prod.outlook.com ([fe80::4e42:45ce:d6c0:1fa0%3]) with mapi id 15.20.6477.016; Thu, 8 Jun 2023 08:03:51 +0000 From: "xixin.liu" To: dev@dpdk.org Cc: gakhil@marvell.com, liuxixin2020@outlook.com Subject: [PATCH v2] cryptodev: avoid algorithm strings null pointers Date: Thu, 8 Jun 2023 16:03:23 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [6lcdYqOoF3P95jdixVW9QZkTk0TsZzjM] X-ClientProxiedBy: TYCP286CA0056.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b5::17) To TY3PR01MB11575.jpnprd01.prod.outlook.com (2603:1096:400:377::7) X-Microsoft-Original-Message-ID: <20230608080323.38123-1-liuxixin2020@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY3PR01MB11575:EE_|TYCPR01MB5709:EE_ X-MS-Office365-Filtering-Correlation-Id: 9bcd5e92-9215-4b8f-37e7-08db67f6e451 X-MS-Exchange-SLBlob-MailProps: AlkLxVwsndnRyfCOfysi+NEEvUb8BbIp+HDBld0bBqWTFkReqlVVRbQA2VgKE8zCrvb8unPDfslfB4cZvJHpBgnctUQjlLo90MkuUJea8sD32yqlLMm3lPuyiNzCUZq7q2cC6eerHtQqm3aclRmbN7xy77Gh6BFI7gjY6vbJPf71cEzZ4iaUTuC6cjtU+OADngMCm4RPYrk6tlZNTCEqXH0MI7sJpeLUyagg+FsxOlZAEslIsFqTD1Zx4XzrP/6Yofh9DaLU5S+XbFGsr0QypuW30uDEdOjIJuc/fTwGDSJ4yIAWAz/afzXRM2ThPJNtZNYvdOFII3JswwprkegrXdPzJ545oem/+vjaj1V81gLCyJLWIFEyg1JFXXTgl9zAIlq17x7kiby8jf9uGfAbiTk2R7zr2dGD3tSLjm8hqqchMGMDpZd3Z2Xxq3mIo9CmN8IMUde/NXRmq4JDXLO4lSNSjI11e29xQClj7EFMEKMydBAMhLA/rHYbR5vKD7UyVw/T4ZjlMcLD3XU6ks4gH8ZUwsxn0fr0XlFYBR11dkrIxlv5SRFLuVzx6gknqZ8Zc+9JOLQfTzu/yLqH/hWN06rTIYKUVKzkb+oxjHzcUEymIt/SL6Gqo61hJs98JCy0+MvCrjDo2T3qZGgNJ/kfq2J746wU7wgh+akDwtmmm/oniLgG6hFX2am4CFOFcQmGuREl3HxcddW/hJ+wU1VDHGQlcsn5ubi6E6CRRYqwTEU/XeFOKF4og8nLxyoiS3CH3rhSjVbQR/gttVAF7yB4Z282Qtzn2O68 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U0AtyvAOtW05FtuK8ezLRDfTa9fLN5K2oUXlmsPVke+zFdPG4g9IkzpbrfD1IhHHVY+IBAwW7zRbiiVzO4ow8upe3yfHrNo4id5W1EiFm3GVt8kmi8oVsuoUdm6HR9rg+Fqbkhp0T+60gU0JgUcZgp/4sqAtJ5/OTWF4eroXbcjwl0UXx33TTPG211y1HdsfdioHpIo6r/Dd4JrBJZ6PHSw691SfsULx44aT88W4PVXS/dHoiaLFuNfAFui6rPWM6ChKPqkAuY7tLj7DEudumXdFEmqbt4YEWkau9CvktxH3eccC10bJGrYTciaqUc2z9ypm6xnLWH6rP/yPr166KsOvx8nBgwiN7x5apLBW3VexTOHp6+dyFTTqyrDH5LNIJnMNrgviWbQtxENEP0Sjh0EWX2Wi+adLS3mXZswn5uT1foRn6dsK2ZjEQg7qjqvlxZskzSLZAN17ixFbJdYzU/S/TkUGoAFZZuzSlo8dWj2/q2mDGOy2iwTDBzPTib4bAciAYi8Q/neHhk3dt2QN0iO0TiQKx0IhOPSeuq/up+jw2ruy76/FlhCCwV4Dmt1+doyBRQgcn85qNdsGWZsIKjdKwOP0CJtKdKdwTVlol+E= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hTxhLbO/oSMfu+z5C+P/573y0rwumLsu6Y9EI+Jf3wr9ilwZAsR9OT3v0Png8ALUtcTR/oNW7HCsKMDsqMJtTSB/5X7JGBzs7LJOWVV9HQJeIsAe1I6I6KnO9ZRNm1e1uJC6vXkb5U4uSYFWxqa5lBBXpZTzj7fzxkaK5rei27MQ+Z9zegfH+nde+LYkK3VENYS09WE8IJ5/nkhgsX1kK8dmIe3CS+2dzkj4rvqy2eeXDDHLo+tJAV6mySOaW98Oxmi8Y0QaupGAA16dTljjzBmv89+QjUnrR799wFf6IRXef8g3w5nrB+pKAXJWISoohPOG6JMP/BIWvBcrF1E6JhEk3wZDhj3Df1wN+DZP5wLdjvHrMZOjTwR1M+LKmMQnvpM5IOwQxp27O+h10DhvP9jx3dvQXEx1Q4seFNtCwQmutH+HiV2+d0fiSIPpfzKWMBh1/c09wqa1ZHz3Ei4s1S4P4TO7q/cHZbcXBe5iQlH+dxwSAt34Oi/nD6psrzwx8At0MTzJk9R7HYwLA/1tsN/16TO15an+4N7AWsCon+8TW4qyznOfGSKo4PpcTHEXJBtRZgmEyA4LeX7GdH2cSAgtjRW6mp+HAwEezYV4mY9bWRujLpJazd+BbBBsxSwzRJ5jU7CTg/DGq5ev4RXTNzFd4+wK4HyWiZsiosom3pz0oAxvOUkE9Wb1TZ7wSKfabW4YkMKq7CY0IGSdnfwawgcI+k9wZIdgT/6XdsCTcPeKrRsQOQpREkqxxPLkHlFmd4iTOOMlVZ58zL5Y1fuGidD5BnTM4G/VBzt3E9WvuF5MucBY1MraRMudfDe/TwOxS/nuRjjXePm+Pgsccy81Hq0fz62TUDATme+tIY1DWMksW6JH2GhfD4oD7yr+s5IbbpvofeZF6nUus14iofU+NzB12UgXrKqDP/JhD+v1eH47u/fKM5U2DPDew58Kx1Fet4XveEiJdnwSaq1yj16P/MxLmHBY34yO7QCr8G/IC3ETgy8kDE5WQj7CEeR7V8gEO49WMe99kp+LDd4B2DmbfTzuh1Z4A9ugpDVIFq38N6YSa7eVODprNOPiwFYw2FO63Cn6sJobhSPXIC6hOJd8Qg6F2u2/S84Bsq7hkFSOEPR6oyM02fNFZpW0MIQzsQ1EK8Qf/6S32qDc9WR9zwQWNrI1DvkqF55U8/T3Utn79wO0fGk8EL6Lo91veuHnzfzwnz+Kf0hje/qbpvGtrVWxOgTcqVDib5core3tKL9ukVA= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9bcd5e92-9215-4b8f-37e7-08db67f6e451 X-MS-Exchange-CrossTenant-AuthSource: TY3PR01MB11575.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2023 08:03:51.5183 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB5709 X-Mailman-Approved-At: Thu, 08 Jun 2023 10:29:18 +0200 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The crypto algorithm strings identifiers that are Continuous may be null, so there is needed to add null judgment. When testing with dpdk-test-crypto-perf and passing in the parameter --auth-algo sm3-hmac, The program caused a segfault due to a null pointer passed in by strcmp. Adding this patch can solve the segfault problem. Signed-off-by: xixin.liu --- lib/cryptodev/rte_cryptodev.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c index a96114b2da..41c23fc596 100644 --- a/lib/cryptodev/rte_cryptodev.c +++ b/lib/cryptodev/rte_cryptodev.c @@ -346,6 +346,8 @@ rte_cryptodev_get_cipher_algo_enum(enum rte_crypto_cipher_algorithm *algo_enum, int ret = -1; /* Invalid string */ for (i = 1; i < RTE_DIM(crypto_cipher_algorithm_strings); i++) { + if (crypto_cipher_algorithm_strings[i] == NULL) + continue; if (strcmp(algo_string, crypto_cipher_algorithm_strings[i]) == 0) { *algo_enum = (enum rte_crypto_cipher_algorithm) i; ret = 0; @@ -366,6 +368,8 @@ rte_cryptodev_get_auth_algo_enum(enum rte_crypto_auth_algorithm *algo_enum, int ret = -1; /* Invalid string */ for (i = 1; i < RTE_DIM(crypto_auth_algorithm_strings); i++) { + if (crypto_auth_algorithm_strings[i] == NULL) + continue; if (strcmp(algo_string, crypto_auth_algorithm_strings[i]) == 0) { *algo_enum = (enum rte_crypto_auth_algorithm) i; ret = 0; @@ -386,6 +390,8 @@ rte_cryptodev_get_aead_algo_enum(enum rte_crypto_aead_algorithm *algo_enum, int ret = -1; /* Invalid string */ for (i = 1; i < RTE_DIM(crypto_aead_algorithm_strings); i++) { + if (crypto_aead_algorithm_strings[i] == NULL) + continue; if (strcmp(algo_string, crypto_aead_algorithm_strings[i]) == 0) { *algo_enum = (enum rte_crypto_aead_algorithm) i; ret = 0; @@ -406,6 +412,8 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum, int ret = -1; /* Invalid string */ for (i = 1; i < RTE_DIM(crypto_asym_xform_strings); i++) { + if (crypto_asym_xform_strings[i] == NULL) + continue; if (strcmp(xform_string, crypto_asym_xform_strings[i]) == 0) { *xform_enum = (enum rte_crypto_asym_xform_type) i;