From patchwork Mon Aug 31 08:51:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruifeng Wang X-Patchwork-Id: 76179 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 48BA4A04AB; Mon, 31 Aug 2020 10:52:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2A2BF1C0AC; Mon, 31 Aug 2020 10:52:28 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id D5CBDA3; Mon, 31 Aug 2020 10:52:26 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5E75E1FB; Mon, 31 Aug 2020 01:52:26 -0700 (PDT) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.210.116]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id F323C3F68F; Mon, 31 Aug 2020 01:52:22 -0700 (PDT) From: Ruifeng Wang To: Declan Doherty , Fiona Trahe , John Griffin , Des O Dea , Sergio Gonzalez Monroy Cc: dev@dpdk.org, akhil.goyal@nxp.com, honnappa.nagarahalli@arm.com, nd@arm.com, Ruifeng Wang , stable@dpdk.org Date: Mon, 31 Aug 2020 16:51:43 +0800 Message-Id: <20200831085145.184179-2-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200831085145.184179-1-ruifeng.wang@arm.com> References: <20200831085145.184179-1-ruifeng.wang@arm.com> Subject: [dpdk-dev] [PATCH 1/3] test/crypto: fix stat test 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" ut_setup / ut_teardown are invoked for each test case by test framework. The call inside test_stats is unnecessary and even incorrect. This caused double free of objects such as crypto operation structure. Trapped the issue when RTE_LIBRTE_MEMPOOL_DEBUG was enabled. Fix issue by removing ut_setup / ut_teardown from test case implementation. Fixes: 202d375c60bc ("app/test: add cryptodev unit and performance tests") Cc: declan.doherty@intel.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang Tested-by: Adam Dybkowski --- app/test/test_cryptodev.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 70bf6fe2c..068b8c9c1 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -9326,9 +9326,7 @@ test_stats(void) "rte_cryptodev_stats_get invalid Param failed"); /* Test expected values */ - ut_setup(); test_AES_CBC_HMAC_SHA1_encrypt_digest(); - ut_teardown(); TEST_ASSERT_SUCCESS(rte_cryptodev_stats_get(ts_params->valid_devs[0], &stats), "rte_cryptodev_stats_get failed"); From patchwork Mon Aug 31 08:51:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruifeng Wang X-Patchwork-Id: 76180 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 907C5A04AB; Mon, 31 Aug 2020 10:52:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7B1BE1C0B6; Mon, 31 Aug 2020 10:52:34 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id BEC191C0B1; Mon, 31 Aug 2020 10:52:32 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4CB141FB; Mon, 31 Aug 2020 01:52:32 -0700 (PDT) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.210.116]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E15753F68F; Mon, 31 Aug 2020 01:52:28 -0700 (PDT) From: Ruifeng Wang To: Ruifeng Wang , Akhil Goyal , Slawomir Mrozowicz , Pablo de Lara , Declan Doherty , Fiona Trahe , Fan Zhang Cc: dev@dpdk.org, honnappa.nagarahalli@arm.com, nd@arm.com, stable@dpdk.org Date: Mon, 31 Aug 2020 16:51:44 +0800 Message-Id: <20200831085145.184179-3-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200831085145.184179-1-ruifeng.wang@arm.com> References: <20200831085145.184179-1-ruifeng.wang@arm.com> Subject: [dpdk-dev] [PATCH 2/3] crypto/armv8: fix mempool object returning 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" Crypto session and device session private data were put back to wrong pools. This caused data corruption when the object was reallocated and used. Because objects from different mempools have different element size, and wrong mempool info caused out of bound write. Fix the issue by putting back objects to correct mempools. Fixes: b3bbd9e5f265 ("cryptodev: support device independent sessions") Fixes: 725d2a7fbf71 ("cryptodev: change queue pair configure structure") Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang --- drivers/crypto/armv8/rte_armv8_pmd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c index c95729db5..72d29ae0c 100644 --- a/drivers/crypto/armv8/rte_armv8_pmd.c +++ b/drivers/crypto/armv8/rte_armv8_pmd.c @@ -674,8 +674,8 @@ process_op(struct armv8_crypto_qp *qp, struct rte_crypto_op *op, memset(op->sym->session, 0, rte_cryptodev_sym_get_existing_header_session_size( op->sym->session)); - rte_mempool_put(qp->sess_mp, sess); - rte_mempool_put(qp->sess_mp_priv, op->sym->session); + rte_mempool_put(qp->sess_mp_priv, sess); + rte_mempool_put(qp->sess_mp, op->sym->session); op->sym->session = NULL; } From patchwork Mon Aug 31 08:51:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruifeng Wang X-Patchwork-Id: 76181 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B5DABA04AB; Mon, 31 Aug 2020 10:52:42 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C999A1C08C; Mon, 31 Aug 2020 10:52:38 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 23250DE0 for ; Mon, 31 Aug 2020 10:52:37 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9E37E1FB; Mon, 31 Aug 2020 01:52:36 -0700 (PDT) Received: from net-arm-thunderx2-02.shanghai.arm.com (net-arm-thunderx2-02.shanghai.arm.com [10.169.210.116]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8D5613F68F; Mon, 31 Aug 2020 01:52:34 -0700 (PDT) From: Ruifeng Wang To: Declan Doherty Cc: dev@dpdk.org, akhil.goyal@nxp.com, honnappa.nagarahalli@arm.com, nd@arm.com, Ruifeng Wang Date: Mon, 31 Aug 2020 16:51:45 +0800 Message-Id: <20200831085145.184179-4-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200831085145.184179-1-ruifeng.wang@arm.com> References: <20200831085145.184179-1-ruifeng.wang@arm.com> Subject: [dpdk-dev] [PATCH 3/3] crypto/armv8: move to cryptodev test suite 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" Switched from device specific test suite to unified cryptodev test suite. Removed the armv8 device specific test suite. Signed-off-by: Ruifeng Wang --- app/test/test_cryptodev.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 068b8c9c1..7cdf9587e 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -12590,23 +12590,6 @@ static struct unit_test_suite cryptodev_caam_jr_testsuite = { } }; -static struct unit_test_suite cryptodev_armv8_testsuite = { - .suite_name = "Crypto Device ARMv8 Unit Test Suite", - .setup = testsuite_setup, - .teardown = testsuite_teardown, - .unit_test_cases = { - TEST_CASE_ST(ut_setup, ut_teardown, test_AES_chain_all), - - /** Negative tests */ - TEST_CASE_ST(ut_setup, ut_teardown, - auth_decryption_AES128CBC_HMAC_SHA1_fail_data_corrupt), - TEST_CASE_ST(ut_setup, ut_teardown, - auth_decryption_AES128CBC_HMAC_SHA1_fail_tag_corrupt), - - TEST_CASES_END() /**< NULL terminate unit test array */ - } -}; - static struct unit_test_suite cryptodev_mrvl_testsuite = { .suite_name = "Crypto Device Marvell Component Test Suite", .setup = testsuite_setup, @@ -12882,7 +12865,7 @@ test_cryptodev_armv8(void) return TEST_SKIPPED; } - return unit_test_suite_runner(&cryptodev_armv8_testsuite); + return unit_test_suite_runner(&cryptodev_testsuite); } static int