All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] crypto/qat: fix segmentation fault in session create
@ 2017-03-29 10:31 Arek Kusztal
  2017-03-30 13:37 ` Trahe, Fiona
  2017-03-30 22:11 ` De Lara Guarch, Pablo
  0 siblings, 2 replies; 4+ messages in thread
From: Arek Kusztal @ 2017-03-29 10:31 UTC (permalink / raw)
  To: dev
  Cc: fiona.trahe, pablo.de.lara.guarch, john.griffin, deepak.k.jain,
	Arek Kusztal

This patch fixes segementation fault that may occur in case
of wrong parameters being provided to the cryptographic
session. Unused fields which would cause null dereference
are removed.

Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")

This patchset depends on the following patches/patchsets:

"crypto/qat: adding docsisbpi mode support"
(http://dpdk.org/dev/patchwork/patch/21121/)

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 drivers/crypto/qat/qat_crypto.c | 13 ++-----------
 drivers/crypto/qat/qat_crypto.h |  3 ---
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index b851926..9310211 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -739,11 +739,9 @@ qat_get_cipher_xform(struct rte_crypto_sym_xform *xform)
 	return NULL;
 }
 void *
-qat_crypto_sym_configure_session_cipher(struct rte_cryptodev *dev,
+qat_crypto_sym_configure_session_cipher(struct rte_cryptodev *dev __rte_unused,
 		struct rte_crypto_sym_xform *xform, void *session_private)
 {
-	struct qat_pmd_private *internals = dev->data->dev_private;
-
 	struct qat_session *session = session_private;
 
 	struct rte_crypto_cipher_xform *cipher_xform = NULL;
@@ -884,7 +882,6 @@ qat_crypto_sym_configure_session_cipher(struct rte_cryptodev *dev,
 		bpi_cipher_ctx_free(session->bpi_ctx);
 		session->bpi_ctx = NULL;
 	}
-	rte_mempool_put(internals->sess_mp, session);
 	return NULL;
 }
 
@@ -893,8 +890,6 @@ void *
 qat_crypto_sym_configure_session(struct rte_cryptodev *dev,
 		struct rte_crypto_sym_xform *xform, void *session_private)
 {
-	struct qat_pmd_private *internals = dev->data->dev_private;
-
 	struct qat_session *session = session_private;
 
 	int qat_cmd_id;
@@ -943,17 +938,15 @@ qat_crypto_sym_configure_session(struct rte_cryptodev *dev,
 	return session;
 
 error_out:
-	rte_mempool_put(internals->sess_mp, session);
 	return NULL;
 }
 
 struct qat_session *
-qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev,
+qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev __rte_unused,
 				struct rte_crypto_sym_xform *xform,
 				struct qat_session *session_private)
 {
 
-	struct qat_pmd_private *internals = dev->data->dev_private;
 	struct qat_session *session = session_private;
 	struct rte_crypto_auth_xform *auth_xform = NULL;
 	struct rte_crypto_cipher_xform *cipher_xform = NULL;
@@ -1038,8 +1031,6 @@ qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev,
 	return session;
 
 error_out:
-	if (internals->sess_mp != NULL)
-		rte_mempool_put(internals->sess_mp, session);
 	return NULL;
 }
 
diff --git a/drivers/crypto/qat/qat_crypto.h b/drivers/crypto/qat/qat_crypto.h
index 78bb2bc..67fa0e1 100644
--- a/drivers/crypto/qat/qat_crypto.h
+++ b/drivers/crypto/qat/qat_crypto.h
@@ -76,9 +76,6 @@ struct qat_qp {
 
 /** private data structure for each QAT device */
 struct qat_pmd_private {
-	char sess_mp_name[RTE_MEMPOOL_NAMESIZE];
-	struct rte_mempool *sess_mp;
-
 	unsigned max_nb_queue_pairs;
 	/**< Max number of queue pairs supported by device */
 	unsigned max_nb_sessions;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] crypto/qat: fix segmentation fault in session create
  2017-03-29 10:31 [PATCH] crypto/qat: fix segmentation fault in session create Arek Kusztal
@ 2017-03-30 13:37 ` Trahe, Fiona
  2017-03-30 22:07   ` De Lara Guarch, Pablo
  2017-03-30 22:11 ` De Lara Guarch, Pablo
  1 sibling, 1 reply; 4+ messages in thread
From: Trahe, Fiona @ 2017-03-30 13:37 UTC (permalink / raw)
  To: Kusztal, ArkadiuszX, dev
  Cc: De Lara Guarch, Pablo, Griffin, John, Jain, Deepak K



> -----Original Message-----
> From: Kusztal, ArkadiuszX
> Sent: Wednesday, March 29, 2017 11:32 AM
> To: dev@dpdk.org
> Cc: Trahe, Fiona <fiona.trahe@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; Griffin, John <john.griffin@intel.com>;
> Jain, Deepak K <deepak.k.jain@intel.com>; Kusztal, ArkadiuszX
> <arkadiuszx.kusztal@intel.com>
> Subject: [PATCH] crypto/qat: fix segmentation fault in session create
> 
> This patch fixes segementation fault that may occur in case
> of wrong parameters being provided to the cryptographic
> session. Unused fields which would cause null dereference
> are removed.
> 
> Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")
> 
> This patchset depends on the following patches/patchsets:
> 
> "crypto/qat: adding docsisbpi mode support"
> (http://dpdk.org/dev/patchwork/patch/21121/)
> 
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] crypto/qat: fix segmentation fault in session create
  2017-03-30 13:37 ` Trahe, Fiona
@ 2017-03-30 22:07   ` De Lara Guarch, Pablo
  0 siblings, 0 replies; 4+ messages in thread
From: De Lara Guarch, Pablo @ 2017-03-30 22:07 UTC (permalink / raw)
  To: Trahe, Fiona, Kusztal, ArkadiuszX, dev; +Cc: Griffin, John, Jain, Deepak K



> -----Original Message-----
> From: Trahe, Fiona
> Sent: Thursday, March 30, 2017 2:37 PM
> To: Kusztal, ArkadiuszX; dev@dpdk.org
> Cc: De Lara Guarch, Pablo; Griffin, John; Jain, Deepak K
> Subject: RE: [PATCH] crypto/qat: fix segmentation fault in session create
> 
> 
> 
> > -----Original Message-----
> > From: Kusztal, ArkadiuszX
> > Sent: Wednesday, March 29, 2017 11:32 AM
> > To: dev@dpdk.org
> > Cc: Trahe, Fiona <fiona.trahe@intel.com>; De Lara Guarch, Pablo
> > <pablo.de.lara.guarch@intel.com>; Griffin, John <john.griffin@intel.com>;
> > Jain, Deepak K <deepak.k.jain@intel.com>; Kusztal, ArkadiuszX
> > <arkadiuszx.kusztal@intel.com>
> > Subject: [PATCH] crypto/qat: fix segmentation fault in session create
> >
> > This patch fixes segementation fault that may occur in case
> > of wrong parameters being provided to the cryptographic
> > session. Unused fields which would cause null dereference
> > are removed.
> >
> > Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")
> >
> > This patchset depends on the following patches/patchsets:
> >
> > "crypto/qat: adding docsisbpi mode support"
> > (http://dpdk.org/dev/patchwork/patch/21121/)
> >
> > Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> Acked-by: Fiona Trahe <fiona.trahe@intel.com>

Applied to dpdk-next-crypto.
Thanks,

Pablo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] crypto/qat: fix segmentation fault in session create
  2017-03-29 10:31 [PATCH] crypto/qat: fix segmentation fault in session create Arek Kusztal
  2017-03-30 13:37 ` Trahe, Fiona
@ 2017-03-30 22:11 ` De Lara Guarch, Pablo
  1 sibling, 0 replies; 4+ messages in thread
From: De Lara Guarch, Pablo @ 2017-03-30 22:11 UTC (permalink / raw)
  To: Kusztal, ArkadiuszX, dev
  Cc: Trahe, Fiona, Griffin, John, Jain, Deepak K, stable

CC'ing stable repo.

> -----Original Message-----
> From: Kusztal, ArkadiuszX
> Sent: Wednesday, March 29, 2017 11:32 AM
> To: dev@dpdk.org
> Cc: Trahe, Fiona; De Lara Guarch, Pablo; Griffin, John; Jain, Deepak K;
> Kusztal, ArkadiuszX
> Subject: [PATCH] crypto/qat: fix segmentation fault in session create
> 
> This patch fixes segementation fault that may occur in case
> of wrong parameters being provided to the cryptographic
> session. Unused fields which would cause null dereference
> are removed.
> 
> Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")
> 
> This patchset depends on the following patches/patchsets:
> 
> "crypto/qat: adding docsisbpi mode support"
> (http://dpdk.org/dev/patchwork/patch/21121/)
> 
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> ---
>  drivers/crypto/qat/qat_crypto.c | 13 ++-----------
>  drivers/crypto/qat/qat_crypto.h |  3 ---
>  2 files changed, 2 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/crypto/qat/qat_crypto.c
> b/drivers/crypto/qat/qat_crypto.c
> index b851926..9310211 100644
> --- a/drivers/crypto/qat/qat_crypto.c
> +++ b/drivers/crypto/qat/qat_crypto.c
> @@ -739,11 +739,9 @@ qat_get_cipher_xform(struct
> rte_crypto_sym_xform *xform)
>  	return NULL;
>  }
>  void *
> -qat_crypto_sym_configure_session_cipher(struct rte_cryptodev *dev,
> +qat_crypto_sym_configure_session_cipher(struct rte_cryptodev *dev
> __rte_unused,
>  		struct rte_crypto_sym_xform *xform, void
> *session_private)
>  {
> -	struct qat_pmd_private *internals = dev->data->dev_private;
> -
>  	struct qat_session *session = session_private;
> 
>  	struct rte_crypto_cipher_xform *cipher_xform = NULL;
> @@ -884,7 +882,6 @@ qat_crypto_sym_configure_session_cipher(struct
> rte_cryptodev *dev,
>  		bpi_cipher_ctx_free(session->bpi_ctx);
>  		session->bpi_ctx = NULL;
>  	}
> -	rte_mempool_put(internals->sess_mp, session);
>  	return NULL;
>  }
> 
> @@ -893,8 +890,6 @@ void *
>  qat_crypto_sym_configure_session(struct rte_cryptodev *dev,
>  		struct rte_crypto_sym_xform *xform, void
> *session_private)
>  {
> -	struct qat_pmd_private *internals = dev->data->dev_private;
> -
>  	struct qat_session *session = session_private;
> 
>  	int qat_cmd_id;
> @@ -943,17 +938,15 @@ qat_crypto_sym_configure_session(struct
> rte_cryptodev *dev,
>  	return session;
> 
>  error_out:
> -	rte_mempool_put(internals->sess_mp, session);
>  	return NULL;
>  }
> 
>  struct qat_session *
> -qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev,
> +qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev
> __rte_unused,
>  				struct rte_crypto_sym_xform *xform,
>  				struct qat_session *session_private)
>  {
> 
> -	struct qat_pmd_private *internals = dev->data->dev_private;
>  	struct qat_session *session = session_private;
>  	struct rte_crypto_auth_xform *auth_xform = NULL;
>  	struct rte_crypto_cipher_xform *cipher_xform = NULL;
> @@ -1038,8 +1031,6 @@ qat_crypto_sym_configure_session_auth(struct
> rte_cryptodev *dev,
>  	return session;
> 
>  error_out:
> -	if (internals->sess_mp != NULL)
> -		rte_mempool_put(internals->sess_mp, session);
>  	return NULL;
>  }
> 
> diff --git a/drivers/crypto/qat/qat_crypto.h
> b/drivers/crypto/qat/qat_crypto.h
> index 78bb2bc..67fa0e1 100644
> --- a/drivers/crypto/qat/qat_crypto.h
> +++ b/drivers/crypto/qat/qat_crypto.h
> @@ -76,9 +76,6 @@ struct qat_qp {
> 
>  /** private data structure for each QAT device */
>  struct qat_pmd_private {
> -	char sess_mp_name[RTE_MEMPOOL_NAMESIZE];
> -	struct rte_mempool *sess_mp;
> -
>  	unsigned max_nb_queue_pairs;
>  	/**< Max number of queue pairs supported by device */
>  	unsigned max_nb_sessions;
> --
> 2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-30 22:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-29 10:31 [PATCH] crypto/qat: fix segmentation fault in session create Arek Kusztal
2017-03-30 13:37 ` Trahe, Fiona
2017-03-30 22:07   ` De Lara Guarch, Pablo
2017-03-30 22:11 ` De Lara Guarch, Pablo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.