From patchwork Thu Jun 8 05:31:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: liu xixin X-Patchwork-Id: 128387 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 1D30D42C5A; Thu, 8 Jun 2023 09:46:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8E67940A84; Thu, 8 Jun 2023 09:46:05 +0200 (CEST) Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01olkn2042.outbound.protection.outlook.com [40.92.98.42]) by mails.dpdk.org (Postfix) with ESMTP id A916F40042 for ; Thu, 8 Jun 2023 07:31:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PlUV4quyRDhgoqlVAV+qDsncwgmCNgpp7R5BmmJYDtGB4E7jEucxJQ62NVEIvsb3zA1vx/fGKz2aZ5hQFIXYAjG/X8lKrXF9fG3pSvHYiowfE16UsqR7JErGULhUU4uSt8tKDrOChLSwOy1YKlRr57f5DY8eGPV98UN2BR4IQgN0hcnQTOKvtePouYKnqmBza2PGLBjUaWanbDdZUV+aeq+aKq2VRkobRoW54XpA4foJIvW3X/Pu69JAkAAKR8zbR1aJsblX15aWLqabFlDRKU0l0f+VpYBtvnBitvX6UZmm+BrT0aC36ct7z+Ex8RGl04qCq0R2xM7/xiC+JydCBw== 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=BOd7sqPTzu3UutiaEdj/WHXJRvATRhxncvm3A1sTosQ=; b=YSmBgiGonKWTGa8KMLIOOlIY8F7UjLNDM1oqMw33olL5ZTInc8h2g2Di2E4iBRB36FlwjnlhtShqRdR3sIPbMAPQBr3A9ngMxjXeMTa25+k9Z28sjGoQYjxzWHvgPQINTuQhedVIW+w4+Y6XBfs1+7LpHG8WXlM4/xusja+HbDzP2nmBEujy0pTp5HY9bJMW+epSHJqX3vb6TtDZJS+ASkyTTuGYZnZJByi40kgcH7ky8juWED7xArz+Fe0uBh1bq+SUe9REmLpQaaPxIf16MS1mZtIxY8kFpCJ11fgbLNSiT+7XsRYCZ3OKqyxxm5WKfaM1MUQsWFyCat9vmbKDYA== 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=BOd7sqPTzu3UutiaEdj/WHXJRvATRhxncvm3A1sTosQ=; b=sRTkShER7JtRNqkcE49zLxwFm1wW+Ecb3PzhHZ7uPs3JyTh3Nc3//EvD/Wro07r8hXrkGjVXJ4IcGIJ/gIbVrVDilzdUERNZQKdmH/D22iECYajw3Za6jn0gtlZaiiToC7ky1nwENarNFF+Whd6iDoeo3LalaYf01x7ks6VrkDzgDv5bcLqfy+kKcAx940qjFtW878AkInq7V+4u8z++CNwT/M7gz2yiicIVYEQ+J880VPknQ+LU19WgVz1csfcsik/VldNXejutGn6GdyzHvC31FBl3fbwrOVwMaGogiNdWE4LHtVYN3edmWfk7zKmocmeTj4sks8lBaDRaMnBA9w== Received: from TY3PR01MB11575.jpnprd01.prod.outlook.com (2603:1096:400:377::7) by TYCPR01MB6094.jpnprd01.prod.outlook.com (2603:1096:400:4a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.19; Thu, 8 Jun 2023 05:31:50 +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 05:31:49 +0000 From: "xixin.liu" To: dev@dpdk.org Cc: gakhil@marvell.com, liuxixin2020@outlook.com Subject: [PATCH] cryptodev: avoid algorithm strings null pointers Date: Thu, 8 Jun 2023 13:31:31 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [OwLVfyM7D78Ciii/YmmW2lLuggAEFqCx] X-ClientProxiedBy: TYWP286CA0018.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:178::8) To TY3PR01MB11575.jpnprd01.prod.outlook.com (2603:1096:400:377::7) X-Microsoft-Original-Message-ID: <20230608053131.24666-1-liuxixin2020@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY3PR01MB11575:EE_|TYCPR01MB6094:EE_ X-MS-Office365-Filtering-Correlation-Id: a167e5f4-548d-4991-ffe1-08db67e1a72d X-MS-Exchange-SLBlob-MailProps: AlkLxVwsndnJEI+j3fsq30cOFjW7gJ6HH4+p5V9PkysgdeKyonG8D82E+nVtde10TDnyCwn4C2ReMxmSfy2eUUAmg8QQv2MG+0SXAUS4krccCZBHN0lx2pNs4UWr/zZpEnZvheW/sUbrYXy0jiph2RMY4dSSjxsmqluqKBr5Xl90kf+yVWPT89iLNbE/PxM/GD/3V7mlaN0SRYP589L+H+3xgTIA/WREET8I/HiFcCSYMV6jbuf5fdePMjAjWJlXLhyQ72kRiiX+p9s0+fKXykUX90L3N3ofaaKwauRkZ+mG7ibMEA1Dt158tbeLP0oaAzt3Fg9mXxafk9seHGdNIz35ub8qER3cFfLwRzKVWK+KHu5tMuh753F1d4Xe2cstpKftAtujxBrvqdqvaPmQUE/I2HxyyCZSbS9VEv50JC0+xdxeOVsVN9yU9MqtJFrLGxAfXG/1MaqBd1MmVHBoIJfd7Ra8kL/VXviERtdIV6CjEwfGivffatwDdLraoLh/HcX2g/DKT0uNwsCnTcdsY4hq/WY9bNVbuLTflmnBUWPkO4G3s0S+JEmIk2Og2KlmZKfrRtw7wRYzc0RDAFK7YPMOw8h5FI5ekSvoHD/hkk80sBXVYsghWzjkhXoyowYy+2uKetylbLxz7cuk4k3Tihk35qZha5YIrCRjB3LcmW/jiz3D0hohDPHDJf4XI2QTzuazV4mJQlYG6t1bEBZp+SyQCYLrskRrhHYevnNmGt56lTB8xDvf1fQoE3/GDT4fGHcqEKvYS+eqOxISZ4tHTPCGyzzDX7OZ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SZhZ+Neb4uEh0MkdhsDZN9CcygmsdJFjiA8rRtVnQD14N190AFEiZ8YLTsawYQ/2jPlpaxpRC3C0xn8ckoHBWfLVeA6DHrJiD1RzYx6+JAWhKiS0fECn1RH+Z1ir6Vqe2UoIXWn9M0k2GcR7MT7iMoJounPMRRDuuS/QemxNscFo8xglpY2pVjYYJPHadeZLLgQHBSxKgMhuKqosDNuqKvTzzMw+fcojEvEpd5skRvugPEva+xcyDbpepmQcUp0xkXvNXNmNqx/rkiIQNp1g+8Pp9waMAjrRc3AC8tyOsTnmEt6p1jKTfC2YLLL1YdmMj2oZq9joXvpuv6epkQai7ZLz1q/DFAqtT8jjk08CzZNp17O//v/fWzlLGioRIXwGrD/5OGI6u1XSdX6y81sBjsGKoLL9cCPThNgMFPQl1y+M/9HyI0Gl6zdN+22tS5VTLK/KdUiz8Tzjxw+qB6tdGvOFUmUW7V8Sq6Zqf6mcAoDDWw5uaqboaQSGcV9FcLOkux4fuE+vAOOBGePmkuCoTQ0HN8hKa3MloYD7TNd4IAX9Hw/PYvQCCUGOvs2YN8F87Dj7Y+XDBAUJLDpqBMhryQKEUeiMhhvrpHHdbYsEmCg= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?kWkGXBhHx8deGGn87t5evsuo/iyU?= =?utf-8?q?ioU8uZghKzc6Q25IUSQzl/OuzZNgE3iHU33JBaBGyc6FuqD41e0NaWkJIVOxtUoiR?= =?utf-8?q?LMewwbF+mabN5DVcF4pVWI85YzQNZ4sM8WfkjKg87HtDRN4MsFIIQzdoWm3wrtkdA?= =?utf-8?q?Ht2m43lU/yDhXbt6Xpmg83izIMFuWC6gPqm2EodL07Ibof2B0fKxcdY8xtlidFP3x?= =?utf-8?q?yONxhp3KHb8eI/Ya8VKqcwmqgMr/X0NBSMGN13Hh2AQGLRMcCg7+LhECFxvFEvqVy?= =?utf-8?q?Q1HrWjcXWmDV0C/MKlQh8Gu6Ra8VowWok32DycT2Uq8JFOOqKXMmUs/cnE6Zfkcc5?= =?utf-8?q?JVRalJoJ8QHV82q+oOqTRa9VdrAhoRGi3J9LlzVLAnpF+6P4ZntYB8QT0s1xBB89T?= =?utf-8?q?okR9tjpMTHjHwCZMN4weUSt/IgxSh4DHyY/y4eJTap8NSh9tM0lp2u8cOJ59n2Bd0?= =?utf-8?q?xg43Tw26mJ54llqss2j8VfpAaUYTth7HIwPomK7qdf4xuyZaYVbtI9JC7mDpdFcgz?= =?utf-8?q?X8TIg+rbYrF8sYxJRqnZT4xDJ48hPQ6Wa1tEuErjk2sFRh2SKnE6KKiTGVU4tMOav?= =?utf-8?q?HIwqISfQsYgWIVZfqXcD8mmF5tn/pOysTdyjJXHtOrHnZ80P5bY7XfIuX1SJG88IX?= =?utf-8?q?cw975i4aanSi51xCWUKLe8Pfw0NrQjlzgOAgJURs3U/qtndg0lU1kQJ6BBArN+U2n?= =?utf-8?q?NOuvyL4X/M7zHTTeTD/iWkfietpzOBZOcxEziMAfkTGfMe3orG1o81vpIapNKbcH8?= =?utf-8?q?f6n3JnWmZQ+En047Ngw8938CqviP6eln0tjSu49Vw/hABYjt91C3xI4wfpET2X3tz?= =?utf-8?q?Rwx0CLlsTRa6xuXDBbSnyG0UX6D2fJWWf72K9NQEaUx+/9F/kTm+tyGwtthn8MGgA?= =?utf-8?q?FoLXmVQp/tIM+iDP66VcQ806VsGYc9t4Zvke9VpLTzk1fELcEE8pEMjA7b0AaqjoA?= =?utf-8?q?G3jaVrEcvt26CTz6Ek3Ui67xMYruXIVVu1Ioyl/O3W3gBeDqiLt2L3w3oPuBTWuGI?= =?utf-8?q?0vR/ovt5ONMBQ7RRcFRs8Sn4VTDZtFRMJshHo+RvQ47MQ9/LV9XbswqV41Fmy2TJ0?= =?utf-8?q?1FbT5XO62HGN5sH2rxz6zQlYhMD6JAzojVWcdLjX9A5z0+jQygMspTLWeP5SmUZ86?= =?utf-8?q?y9v+yvaH929q00jugJsSDdurP1mHSzPsiCEaC9ZX7DqjOa/ge19J3p7VLx4v0=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a167e5f4-548d-4991-ffe1-08db67e1a72d X-MS-Exchange-CrossTenant-AuthSource: TY3PR01MB11575.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2023 05:31:49.7366 (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: TYCPR01MB6094 X-Mailman-Approved-At: Thu, 08 Jun 2023 09:46:04 +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. --- 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..d325133319 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;