[dpdk-dev] crypto/aesni_mb: fix invalid session error

Message ID 20170907115036.74202-1-sergio.gonzalez.monroy@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Pablo de Lara Guarch
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Sergio Gonzalez Monroy Sept. 7, 2017, 11:50 a.m. UTC
  Setting an invalid session in the crypto op results in SEGFAULT because
the JOB user_data was never set to the crypto op.

Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue")

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
  

Comments

Fan Zhang Sept. 11, 2017, 12:22 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sergio Gonzalez
> Monroy
> Sent: Thursday, September 7, 2017 12:51 PM
> To: dev@dpdk.org
> Cc: Doherty, Declan <declan.doherty@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] crypto/aesni_mb: fix invalid session error
> 
> Setting an invalid session in the crypto op results in SEGFAULT because the
> JOB user_data was never set to the crypto op.
> 
> Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue")
> 
> Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
> ---
>  drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> --
> 2.9.5

Acked by: Fan Zhang <roy.fan.zhang@intel.com>
  
De Lara Guarch, Pablo Sept. 11, 2017, 1:26 p.m. UTC | #2
> -----Original Message-----
> From: Zhang, Roy Fan
> Sent: Monday, September 11, 2017 1:22 PM
> To: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>;
> dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> stable@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] crypto/aesni_mb: fix invalid session error
> 
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sergio Gonzalez
> > Monroy
> > Sent: Thursday, September 7, 2017 12:51 PM
> > To: dev@dpdk.org
> > Cc: Doherty, Declan <declan.doherty@intel.com>; De Lara Guarch, Pablo
> > <pablo.de.lara.guarch@intel.com>; stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] crypto/aesni_mb: fix invalid session error
> >
> > Setting an invalid session in the crypto op results in SEGFAULT
> > because the JOB user_data was never set to the crypto op.
> >
> > Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue")
> >
> > Signed-off-by: Sergio Gonzalez Monroy
> > <sergio.gonzalez.monroy@intel.com>
> > ---
> >  drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > --
> > 2.9.5
> 
> Acked by: Fan Zhang <roy.fan.zhang@intel.com>

Applied to dpdk-next-crypto.
Thanks,

Pablo
  

Patch

diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
index 16e1451..f64ff61 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
@@ -626,13 +626,16 @@  flush_mb_mgr(struct aesni_mb_qp *qp, struct rte_crypto_op **ops,
 }
 
 static inline JOB_AES_HMAC *
-set_job_null_op(JOB_AES_HMAC *job)
+set_job_null_op(JOB_AES_HMAC *job, struct rte_crypto_op *op)
 {
 	job->chain_order = HASH_CIPHER;
 	job->cipher_mode = NULL_CIPHER;
 	job->hash_alg = NULL_HASH;
 	job->cipher_direction = DECRYPT;
 
+	/* Set user data to be crypto operation data struct */
+	job->user_data = op;
+
 	return job;
 }
 
@@ -670,7 +673,7 @@  aesni_mb_pmd_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops,
 		retval = set_mb_job_params(job, qp, op);
 		if (unlikely(retval != 0)) {
 			qp->stats.dequeue_err_count++;
-			set_job_null_op(job);
+			set_job_null_op(job, op);
 		}
 
 		/* Submit job to multi-buffer for processing */