[dpdk-dev,v3,1/4] crypto/aesni_mb: fix incorrect crypto session

Message ID 1482168543-40289-2-git-send-email-pablo.de.lara.guarch@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

De Lara Guarch, Pablo Dec. 19, 2016, 5:29 p.m. UTC
  When using sessionless crypto operations, crypto session
is obtained from a pool of sessions, when processing the
operation. Once the operation is processed, the session
is put back in the pool, but for the AESNI MB PMD, this
session was not being saved in the operation and therefore,
it did not return to the session pool.

Fixes: 924e84f87306 ("aesni_mb: add driver for multi buffer based crypto")

CC: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Doherty, Declan Dec. 20, 2016, 9:18 p.m. UTC | #1
On 19/12/16 17:29, Pablo de Lara wrote:
> When using sessionless crypto operations, crypto session
> is obtained from a pool of sessions, when processing the
> operation. Once the operation is processed, the session
> is put back in the pool, but for the AESNI MB PMD, this
> session was not being saved in the operation and therefore,
> it did not return to the session pool.
>
> Fixes: 924e84f87306 ("aesni_mb: add driver for multi buffer based crypto")
>
> CC: stable@dpdk.org
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> ---
>  drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> index f07cd07..7443b47 100644
> --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> @@ -322,6 +322,7 @@ get_session(struct aesni_mb_qp *qp, struct rte_crypto_op *op)
>  			rte_mempool_put(qp->sess_mp, _sess);
>  			sess = NULL;
>  		}
> +		op->sym->session = (struct rte_cryptodev_sym_session *)_sess;
>  	}
>
>  	return sess;
>
Acked-by: Declan Doherty <declan.doherty@intel.com>
  

Patch

diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
index f07cd07..7443b47 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
@@ -322,6 +322,7 @@  get_session(struct aesni_mb_qp *qp, struct rte_crypto_op *op)
 			rte_mempool_put(qp->sess_mp, _sess);
 			sess = NULL;
 		}
+		op->sym->session = (struct rte_cryptodev_sym_session *)_sess;
 	}
 
 	return sess;