[dpdk-stable] patch 'drivers/crypto: fix session-less mode' has been queued to LTS release 18.11.7

Kevin Traynor ktraynor at redhat.com
Wed Feb 19 16:55:56 CET 2020


Hi,

FYI, your patch has been queued to LTS release 18.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/25/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/fc86473e334566d706198a26022ff8c617e3e806

Thanks.

Kevin.

---
>From fc86473e334566d706198a26022ff8c617e3e806 Mon Sep 17 00:00:00 2001
From: Junxiao Shi <git at mail1.yoursunny.com>
Date: Mon, 27 Jan 2020 11:32:11 -0700
Subject: [PATCH] drivers/crypto: fix session-less mode

[ upstream commit a0c2b3d8ee501b90eb11c2a82da0aaca19362bd3 ]

When OpenSSL or AESNI-MB cryptodev is being used in sessionless mode
for symmetric crypto operation (e.g. SHA256 hash), the driver prints
error message:

    CRYPTODEV: set_sym_session_private_data() line 489:
               Set private data for driver 0 not allowed

Then, AESNI-MB driver segfaults in post_process_mb_job().

Bugzilla ID: 377
Fixes: b3bbd9e5f2 ("cryptodev: support device independent sessions")
Fixes: c68d7aa354 ("crypto/aesni_mb: use architecture independent macros")

Signed-off-by: Junxiao Shi <git at mail1.yoursunny.com>
---
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 4 ++--
 drivers/crypto/openssl/rte_openssl_pmd.c   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
index 83250e32cc..45dd86a756 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
@@ -663,8 +663,8 @@ get_session(struct aesni_mb_qp *qp, struct rte_crypto_op *op)
 					cryptodev_driver_id);
 	} else {
-		void *_sess = NULL;
+		void *_sess = rte_cryptodev_sym_session_create(qp->sess_mp);
 		void *_sess_private_data = NULL;
 
-		if (rte_mempool_get(qp->sess_mp, (void **)&_sess))
+		if (_sess == NULL)
 			return NULL;
 
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index 90a91bd831..36122a43ce 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -763,8 +763,8 @@ get_session(struct openssl_qp *qp, struct rte_crypto_op *op)
 
 		/* provide internal session */
-		void *_sess = NULL;
+		void *_sess = rte_cryptodev_sym_session_create(qp->sess_mp);
 		void *_sess_private_data = NULL;
 
-		if (rte_mempool_get(qp->sess_mp, (void **)&_sess))
+		if (_sess == NULL)
 			return NULL;
 
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-19 15:43:50.295775677 +0000
+++ 0011-drivers-crypto-fix-session-less-mode.patch	2020-02-19 15:43:49.733141952 +0000
@@ -1 +1 @@
-From a0c2b3d8ee501b90eb11c2a82da0aaca19362bd3 Mon Sep 17 00:00:00 2001
+From fc86473e334566d706198a26022ff8c617e3e806 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a0c2b3d8ee501b90eb11c2a82da0aaca19362bd3 ]
+
@@ -18 +19,0 @@
-Cc: stable at dpdk.org
@@ -27 +28 @@
-index 97d9f81766..33f4167452 100644
+index 83250e32cc..45dd86a756 100644
@@ -30 +31 @@
-@@ -730,8 +730,8 @@ get_session(struct aesni_mb_qp *qp, struct rte_crypto_op *op)
+@@ -663,8 +663,8 @@ get_session(struct aesni_mb_qp *qp, struct rte_crypto_op *op)
@@ -42 +43 @@
-index 91f028308c..199097bf8c 100644
+index 90a91bd831..36122a43ce 100644



More information about the stable mailing list