[dpdk-dev] crypto/aesni_mb: fix invalid session error
Checks
Commit Message
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
> -----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>
> -----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
@@ -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 */