crypto/virtio: fix memory leak

Message ID 20180719090556.30495-1-pablo.de.lara.guarch@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Pablo de Lara Guarch
Headers
Series crypto/virtio: fix memory leak |

Checks

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

Commit Message

De Lara Guarch, Pablo July 19, 2018, 9:05 a.m. UTC
  Put session private data back to mempool when clearing
a crypto session, which is expected to be done in the PMD.

Fixes: b7fa78c7d3b0 ("crypto/virtio: support session related ops")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/crypto/virtio/virtio_cryptodev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Comments

Zhoujian (jay) July 23, 2018, 7:44 a.m. UTC | #1
> -----Original Message-----
> From: Pablo de Lara [mailto:pablo.de.lara.guarch@intel.com]
> Sent: Thursday, July 19, 2018 5:06 PM
> To: Zhoujian (jay) <jianjay.zhou@huawei.com>
> Cc: dev@dpdk.org; Pablo de Lara <pablo.de.lara.guarch@intel.com>;
> stable@dpdk.org
> Subject: [PATCH] crypto/virtio: fix memory leak
> 
> Put session private data back to mempool when clearing a crypto session,
> which is expected to be done in the PMD.
> 
> Fixes: b7fa78c7d3b0 ("crypto/virtio: support session related ops")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

Reviewed-by: Jay Zhou <jianjay.zhou@huawei.com>
  
De Lara Guarch, Pablo July 23, 2018, 9:40 a.m. UTC | #2
> -----Original Message-----
> From: Zhoujian (jay) [mailto:jianjay.zhou@huawei.com]
> Sent: Monday, July 23, 2018 8:45 AM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org; wangxin (U)
> <wangxinxin.wang@huawei.com>
> Subject: RE: [PATCH] crypto/virtio: fix memory leak
> 
> > -----Original Message-----
> > From: Pablo de Lara [mailto:pablo.de.lara.guarch@intel.com]
> > Sent: Thursday, July 19, 2018 5:06 PM
> > To: Zhoujian (jay) <jianjay.zhou@huawei.com>
> > Cc: dev@dpdk.org; Pablo de Lara <pablo.de.lara.guarch@intel.com>;
> > stable@dpdk.org
> > Subject: [PATCH] crypto/virtio: fix memory leak
> >
> > Put session private data back to mempool when clearing a crypto
> > session, which is expected to be done in the PMD.
> >
> > Fixes: b7fa78c7d3b0 ("crypto/virtio: support session related ops")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> 
> Reviewed-by: Jay Zhou <jianjay.zhou@huawei.com>

Applied to dpdk-next-crypto.

Pablo
  

Patch

diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c
index cc7a0b101..568b5a406 100644
--- a/drivers/crypto/virtio/virtio_cryptodev.c
+++ b/drivers/crypto/virtio/virtio_cryptodev.c
@@ -1076,7 +1076,10 @@  virtio_crypto_sym_clear_session(
 	VIRTIO_CRYPTO_SESSION_LOG_INFO("Close session %"PRIu64" successfully ",
 			session->session_id);
 
-	memset(sess, 0, sizeof(struct virtio_crypto_session));
+	memset(session, 0, sizeof(struct virtio_crypto_session));
+	struct rte_mempool *sess_mp = rte_mempool_from_obj(session);
+	set_sym_session_private_data(sess, cryptodev_virtio_driver_id, NULL);
+	rte_mempool_put(sess_mp, session);
 	rte_free(malloc_virt_addr);
 }