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 988CB4327C for ; Fri, 3 Nov 2023 18:18:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90F904014F; Fri, 3 Nov 2023 18:18:03 +0100 (CET) Received: from mail-qk1-f228.google.com (mail-qk1-f228.google.com [209.85.222.228]) by mails.dpdk.org (Postfix) with ESMTP id DE9364014F for ; Fri, 3 Nov 2023 18:18:02 +0100 (CET) Received: by mail-qk1-f228.google.com with SMTP id af79cd13be357-77a453eb01cso133249485a.0 for ; Fri, 03 Nov 2023 10:18:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1699031882; x=1699636682; darn=dpdk.org; h=cc:to:from:subject:message-id:date:from:to:cc:subject:date :message-id:reply-to; bh=QNMeSZPtBfR7gwqOBIW8OVhgIhdOkPqPa1UMEUVYebc=; b=eIqE5BR0Z+xPqiH2g5GrVvGpPbha8wi8YBj5wRaFoUUF6pMpe2hQhC+wS3MlcxkWv4 UGhTJv/TelTQqTbb1zqjSg+4+JHTihOjiLC/ZRnyP3FUFxbYIsx7Qe7sopJfv/479rTa R489swpkQ2hXfMGZe63WHqaFXmPi78lEjrl+E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699031882; x=1699636682; h=cc:to:from:subject:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QNMeSZPtBfR7gwqOBIW8OVhgIhdOkPqPa1UMEUVYebc=; b=pD8/qVUAnldNwHCkUmZuyegP/zTvhHhw8HXrn6m4E5z9/qf6+zdFZHsGLBo6vIbWMy 7msArKgD49Hv9f5qEZm73Mm1O2OEZbq3sqw41u/94pfCUKnyYY6NjuNGMuUScrxahl4B 9Z7rxocJT5jObBXHyM9vDr7cvS8+Te5HYQIbE4+XOqz9f9KX1E3AoXU8CEdBLxVLJNEC Aepvd9VQVUikIr3GMYjm/dw9/LKjyKakGeuzTOudHrPo9Fp/3G5JWRcks0Z1V0WXjX1B Z7+rz5X1IO/209pRGDQahUUpWBpXTRB/CBiooaUxhPu1CkTw4OjL69+6q3/t/6/8hKVP rF3Q== X-Gm-Message-State: AOJu0Yy89iY1+VKOqKlhVgjBvH4WpOtLvHf7PiSBCFqh+zHLjQ3Wa3eJ lmKnAbvjF4+pyi7n8cNEJuQ0G1ixt4+ymScANeDC70QUCBaXQJRvekpR9g== X-Google-Smtp-Source: AGHT+IEC0Sc1/MdCgFYYc1oLxdJJUyrJcKPTu4nfvCoda9zhVjpysL54EQLvhrZiwfz+JUaFshv67HqZEj7n X-Received: by 2002:a05:6214:2b97:b0:66f:b847:71b7 with SMTP id kr23-20020a0562142b9700b0066fb84771b7mr21904905qvb.25.1699031882334; Fri, 03 Nov 2023 10:18:02 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id x19-20020a0ce0d3000000b0066dbcb9aaccsm75203qvk.43.2023.11.03.10.18.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 03 Nov 2023 10:18:02 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Date: Fri, 03 Nov 2023 10:18:02 -0700 (PDT) Message-ID: <65452b4a.0c0a0220.210b5.1b6fSMTPIN_ADDED_MISSING@mx.google.com> Received: from [172.21.0.2] (unknown [172.18.0.240]) by postal.iol.unh.edu (Postfix) with ESMTP id 0A2D16050A61; Fri, 3 Nov 2023 13:18:02 -0400 (EDT) Subject: |WARNING| pw133842 [PATCH] crypto/openssl: fix asym memory leaks From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Content-Type: text/plain X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/133842 _apply patch failure_ Submitter: Ciara Power Date: Friday, November 03 2023 15:45:16 Applied on: CommitID:11e5ca63c77b355d0397f642989f28a7a0318cbc Apply patch set 133842 failed: Checking patch drivers/crypto/openssl/openssl_pmd_private.h... Checking patch drivers/crypto/openssl/rte_openssl_pmd.c... error: while searching for: err_dsa_sign: if (params) OSSL_PARAM_free(params); if (key_ctx) EVP_PKEY_CTX_free(key_ctx); if (dsa_ctx) EVP_PKEY_CTX_free(dsa_ctx); EVP_PKEY_free(pkey); return ret; } error: patch failed: drivers/crypto/openssl/rte_openssl_pmd.c:1958 error: while searching for: DSA_SIG_free(sign); if (params) OSSL_PARAM_free(params); if (key_ctx) EVP_PKEY_CTX_free(key_ctx); if (dsa_ctx) EVP_PKEY_CTX_free(dsa_ctx); BN_free(pub_key); EVP_PKEY_free(pkey); error: patch failed: drivers/crypto/openssl/rte_openssl_pmd.c:2043 Hunk #3 succeeded at 2294 (offset -2 lines). error: while searching for: err_sm2: EVP_MD_free(check_md); EVP_MD_CTX_free(md_ctx); if (kctx) EVP_PKEY_CTX_free(kctx); if (sctx) EVP_PKEY_CTX_free(sctx); if (cctx) EVP_PKEY_CTX_free(cctx); if (pkey) EVP_PKEY_free(pkey); return ret; } error: patch failed: drivers/crypto/openssl/rte_openssl_pmd.c:2887 Checking patch drivers/crypto/openssl/rte_openssl_pmd_ops.c... Hunk #1 succeeded at 1104 (offset -2 lines). Hunk #2 succeeded at 1129 (offset -2 lines). Hunk #3 succeeded at 1146 (offset -2 lines). error: while searching for: err_dh: OPENSSL_LOG(ERR, " failed to set dh params\n"); BN_free(p); BN_free(g); return -1; } case RTE_CRYPTO_ASYM_XFORM_DSA: { #if (OPENSSL_VERSION_NUMBER >= 0x30000000L) BIGNUM *p = NULL, *g = NULL; BIGNUM *q = NULL, *priv_key = NULL; BIGNUM *pub_key = NULL; OSSL_PARAM_BLD *param_bld = NULL; p = BN_bin2bn((const unsigned char *) xform->dsa.p.data, xform->dsa.p.length, p); g = BN_bin2bn((const unsigned char *) xform->dsa.g.data, xform->dsa.g.length, g); q = BN_bin2bn((const unsigned char *) xform->dsa.q.data, xform->dsa.q.length, q); if (!p || !q || !g) goto err_dsa; priv_key = BN_bin2bn((const unsigned char *) xform->dsa.x.data, xform->dsa.x.length, priv_key); if (priv_key == NULL) goto err_dsa; param_bld = OSSL_PARAM_BLD_new(); error: patch failed: drivers/crypto/openssl/rte_openssl_pmd_ops.c:1177 Hunk #5 succeeded at 1218 (offset -3 lines). Hunk #6 succeeded at 1285 (offset -3 lines). Hunk #7 succeeded at 1306 (offset -3 lines). Hunk #8 succeeded at 1431 (offset -5 lines). error: while searching for: if (sess->u.dh.dh_key) DH_free(sess->u.dh.dh_key); #endif break; case RTE_CRYPTO_ASYM_XFORM_DSA: #if (OPENSSL_VERSION_NUMBER >= 0x30000000L) OSSL_PARAM_BLD_free(sess->u.s.param_bld); sess->u.s.param_bld = NULL; #else if (sess->u.s.dsa) DSA_free(sess->u.s.dsa); error: patch failed: drivers/crypto/openssl/rte_openssl_pmd_ops.c:1463 Applied patch drivers/crypto/openssl/openssl_pmd_private.h cleanly. Applying patch drivers/crypto/openssl/rte_openssl_pmd.c with 3 rejects... Rejected hunk #1. Rejected hunk #2. Hunk #3 applied cleanly. Rejected hunk #4. Applying patch drivers/crypto/openssl/rte_openssl_pmd_ops.c with 2 rejects... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Rejected hunk #4. Hunk #5 applied cleanly. Hunk #6 applied cleanly. Hunk #7 applied cleanly. Hunk #8 applied cleanly. Rejected hunk #9. hint: Use 'git am --show-current-patch' to see the failed patch diff a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c (rejected hunks) @@ -1958,11 +1958,8 @@ process_openssl_dsa_sign_op_evp(struct rte_crypto_op *cop, err_dsa_sign: if (params) OSSL_PARAM_free(params); - if (key_ctx) - EVP_PKEY_CTX_free(key_ctx); - if (dsa_ctx) - EVP_PKEY_CTX_free(dsa_ctx); - + EVP_PKEY_CTX_free(key_ctx); + EVP_PKEY_CTX_free(dsa_ctx); EVP_PKEY_free(pkey); return ret; } @@ -2043,10 +2040,8 @@ process_openssl_dsa_verify_op_evp(struct rte_crypto_op *cop, DSA_SIG_free(sign); if (params) OSSL_PARAM_free(params); - if (key_ctx) - EVP_PKEY_CTX_free(key_ctx); - if (dsa_ctx) - EVP_PKEY_CTX_free(dsa_ctx); + EVP_PKEY_CTX_free(key_ctx); + EVP_PKEY_CTX_free(dsa_ctx); BN_free(pub_key); EVP_PKEY_free(pkey); @@ -2887,18 +2877,10 @@ process_openssl_sm2_op_evp(struct rte_crypto_op *cop, err_sm2: EVP_MD_free(check_md); EVP_MD_CTX_free(md_ctx); - - if (kctx) - EVP_PKEY_CTX_free(kctx); - - if (sctx) - EVP_PKEY_CTX_free(sctx); - - if (cctx) - EVP_PKEY_CTX_free(cctx); - - if (pkey) - EVP_PKEY_free(pkey); + EVP_PKEY_CTX_free(kctx); + EVP_PKEY_CTX_free(sctx); + EVP_PKEY_CTX_free(cctx); + EVP_PKEY_free(pkey); return ret; } diff a/drivers/crypto/openssl/rte_openssl_pmd_ops.c b/drivers/crypto/openssl/rte_openssl_pmd_ops.c (rejected hunks) @@ -1177,40 +1177,42 @@ static int openssl_set_asym_session_parameters( err_dh: OPENSSL_LOG(ERR, " failed to set dh params\n"); - BN_free(p); - BN_free(g); + BN_free(*p); + BN_free(*g); return -1; } case RTE_CRYPTO_ASYM_XFORM_DSA: { #if (OPENSSL_VERSION_NUMBER >= 0x30000000L) - BIGNUM *p = NULL, *g = NULL; - BIGNUM *q = NULL, *priv_key = NULL; + BIGNUM **p = &asym_session->u.s.p; + BIGNUM **g = &asym_session->u.s.g; + BIGNUM **q = &asym_session->u.s.q; + BIGNUM **priv_key = &asym_session->u.s.priv_key; BIGNUM *pub_key = NULL; OSSL_PARAM_BLD *param_bld = NULL; - p = BN_bin2bn((const unsigned char *) + *p = BN_bin2bn((const unsigned char *) xform->dsa.p.data, xform->dsa.p.length, - p); + *p); - g = BN_bin2bn((const unsigned char *) + *g = BN_bin2bn((const unsigned char *) xform->dsa.g.data, xform->dsa.g.length, - g); + *g); - q = BN_bin2bn((const unsigned char *) + *q = BN_bin2bn((const unsigned char *) xform->dsa.q.data, xform->dsa.q.length, - q); - if (!p || !q || !g) + *q); + if (!*p || !*q || !*g) goto err_dsa; - priv_key = BN_bin2bn((const unsigned char *) + *priv_key = BN_bin2bn((const unsigned char *) xform->dsa.x.data, xform->dsa.x.length, - priv_key); - if (priv_key == NULL) + *priv_key); + if (*priv_key == NULL) goto err_dsa; param_bld = OSSL_PARAM_BLD_new(); @@ -1463,11 +1464,17 @@ static void openssl_reset_asym_session(struct openssl_asym_session *sess) if (sess->u.dh.dh_key) DH_free(sess->u.dh.dh_key); #endif + BN_clear_free(sess->u.dh.p); + BN_clear_free(sess->u.dh.g); break; case RTE_CRYPTO_ASYM_XFORM_DSA: #if (OPENSSL_VERSION_NUMBER >= 0x30000000L) OSSL_PARAM_BLD_free(sess->u.s.param_bld); sess->u.s.param_bld = NULL; + BN_clear_free(sess->u.s.p); + BN_clear_free(sess->u.s.q); + BN_clear_free(sess->u.s.g); + BN_clear_free(sess->u.s.priv_key); #else if (sess->u.s.dsa) DSA_free(sess->u.s.dsa); https://lab.dpdk.org/results/dashboard/patchsets/28225/ UNH-IOL DPDK Community Lab