[dpdk-stable] patch 'crypto/armv8: fix mempool object returning' has been queued to stable release 19.11.6

luca.boccassi at gmail.com luca.boccassi at gmail.com
Wed Oct 28 11:45:07 CET 2020


Hi,

FYI, your patch has been queued to stable release 19.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/30/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.

Thanks.

Luca Boccassi

---
>From 8c04c7829c6fe7e8acdc2b4ff9a7db7b89fa8f0a Mon Sep 17 00:00:00 2001
From: Ruifeng Wang <ruifeng.wang at arm.com>
Date: Mon, 31 Aug 2020 16:51:44 +0800
Subject: [PATCH] crypto/armv8: fix mempool object returning

[ upstream commit 76a4ed5b3bc91c5296e3d6780243d237f3ed8506 ]

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")

Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
Acked-by: Akhil Goyal <akhil.goyal at nxp.com>
---
 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 bc897ac713..3c5af17e68 100644
--- a/drivers/crypto/armv8/rte_armv8_pmd.c
+++ b/drivers/crypto/armv8/rte_armv8_pmd.c
@@ -666,8 +666,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;
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-10-28 10:35:16.339063633 +0000
+++ 0148-crypto-armv8-fix-mempool-object-returning.patch	2020-10-28 10:35:11.740833497 +0000
@@ -1,8 +1,10 @@
-From 76a4ed5b3bc91c5296e3d6780243d237f3ed8506 Mon Sep 17 00:00:00 2001
+From 8c04c7829c6fe7e8acdc2b4ff9a7db7b89fa8f0a Mon Sep 17 00:00:00 2001
 From: Ruifeng Wang <ruifeng.wang at arm.com>
 Date: Mon, 31 Aug 2020 16:51:44 +0800
 Subject: [PATCH] crypto/armv8: fix mempool object returning
 
+[ upstream commit 76a4ed5b3bc91c5296e3d6780243d237f3ed8506 ]
+
 Crypto session and device session private data were put back
 to wrong pools.
 This caused data corruption when the object was reallocated and used.
@@ -12,7 +14,6 @@
 
 Fixes: b3bbd9e5f265 ("cryptodev: support device independent sessions")
 Fixes: 725d2a7fbf71 ("cryptodev: change queue pair configure structure")
-Cc: stable at dpdk.org
 
 Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
 Acked-by: Akhil Goyal <akhil.goyal at nxp.com>
@@ -21,10 +22,10 @@
  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 c95729db50..72d29ae0cb 100644
+index bc897ac713..3c5af17e68 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,
+@@ -666,8 +666,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));


More information about the stable mailing list