From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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?B?a1drR1hCaEh4OGRlR0duODd0NWV2c3VvL2l5VWlvVTh1WmdoS3pjNlEyNUlV?= =?utf-8?B?U1F6bC9PdXpaTmdFM2lIVTMzSkJhQkd5YzZGdXFENDFlME5hV2tKSVZPeHRV?= =?utf-8?B?b2lSTE1ld3diRittYWJONURWY0Y0cFZXSTg1WXpRTlo0c004V2ZraktnODdI?= =?utf-8?B?dERSTjRNc0ZJSVF6ZG9XbTN3cnRrZEFIdDJtNDNsVS95RGhYYnQ2WHBtZzgz?= =?utf-8?B?aXpJTUZ1V0M2Z1BxbTJFb2RMMDdJYm9mMkIwZkt4Y2RZOHh0bGlkRlAzeHlP?= =?utf-8?B?TnhocDNLSGI4ZUkvWWE4VktxY3dtcWdNci9YME5CU01HTjEzSGgyQVFHTFJN?= =?utf-8?B?Y0NnNytMaEVDRnh2RkV2cVZ5UTFIcldqY1hXbURWMEMvTUtsUWg4R3U2UmE4?= =?utf-8?B?Vm93V29rMzJEeWNUMlVxOEpGT09xS1hNbVVzL2NuRTZaZmtjYzVKVlJhbEpv?= =?utf-8?B?SjhRSFY4MnErb09xVFJhOVZkckFob1JHaTNKOUxselZMQW5wRis2UDRabnRZ?= =?utf-8?B?QjhRVDBzMXhCQjg5VG9rUjl0anBNVEhqSHdDWk1ONHdlVVN0L0lneFNoNERI?= =?utf-8?B?eVkveTRlSlRhcDhOU2g5dE0wbHAydThjT0o1OW4yQmQweGc0M1R3MjZtSjU0?= =?utf-8?B?bGxxc3MyajhWZnBBYVVZVHRoN0hJd1BvbUs3cWRmNHh1eVphWVZidEk5SkM3?= =?utf-8?B?bURwZEZjZ3pYOFRJZytyYllyRjhzWXhKUnFuWlQ0eERKNDhoUFE2V2ExdEV1?= =?utf-8?B?RXJqazJzRlJoMlNLbkU2S0tpVEdWVTR0TU9hdkhJd3FJU2ZRc1lnV0lWWmZx?= =?utf-8?B?WGNEOG1tRjV0bi9wT3lzVGR5akpYSHRPckhuWjgwUDViWTdYZkl1WDFTSkc4?= =?utf-8?B?OElYY3c5NzVpNGFhblNpNTF4Q1dVS0xlOFBmdzBOclFqbHpnT0FnSlVSczNV?= =?utf-8?B?L3F0bmRnMGxVMWtRSjZCQkFyTitVMm5OT3V2eUw0WC9NN3pIVFRlVEQvaVdr?= =?utf-8?B?ZmlldHB6T0JaT2N4RXppTUFma1RHZk1lM29yRzFvODF2cElhcE5LYmNIOGY2?= =?utf-8?B?bjNKbldtWlErRW4wNDdOZ3c4OTM4Q3F2aVA2ZWxuMHRqU3U0OVZ3L2hBQllq?= =?utf-8?B?dDkxQzN4STR3ZnBFVDJYM3R6Und4MENMbHNUUmE2eHVYREJiU255RzBVWDZE?= =?utf-8?B?MmZKV1dmNzJLOU5RRWFVeCsvOUYva1RtK3R5R3d0dGhuOE1HZ0FGb0xYbVZR?= =?utf-8?B?cC90SU0raURQNjZWY1E4MDZWc0dZYzl0NFp2a2U5VnBMVHprMWZFTGNFRThw?= =?utf-8?B?RU1qQTdiMEFhcWpvQUczamFWckVjdnQyNkNUejZFazNVaTY3eE1ZcnVYSVZW?= =?utf-8?B?dTFJb3lsL08zVzNnQmVEcWlMdDJMM3czb1B1QlRXdUdJMHZSL292dDVPTk1C?= =?utf-8?B?UTdSUmNGUnM4U240VlREWnRGUk1Kc2hIbytSdlE0N01ROS9MVjlYYnN3cVY0?= =?utf-8?B?MUZteTJUSjAxRmJUNVhPNjJIR041c0gycnh6NnpRbFloTUQ2SkF6b2pWV2Nk?= =?utf-8?B?TGpYOUE1ejAralF5Z01zcFRMV2VQNVNtVVo4Nnk5dit5dmFIOTI5cTAwanVn?= =?utf-8?Q?JsSDdurP1mHSzPsiCEaC9ZX7DqjOa/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; -- 2.34.1