[dpdk-dev] [PATCH] app/test: avoid freeing mbuf twice

Pablo de Lara pablo.de.lara.guarch at intel.com
Sat Jun 25 18:11:21 CEST 2016


In cryptodev tests, when input and output buffers were the same,
the mbuf was being freed twice, causing refcnt_atomic to be negative.

Fixes: 202d375c60bc ("app/test: add cryptodev unit and performance tests")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
---
 app/test/test_cryptodev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 1a67ffb..67608ff 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -396,10 +396,13 @@ ut_teardown(void)
 
 	/*
 	 * free mbuf - both obuf and ibuf are usually the same,
-	 * but rte copes even if we call free twice
+	 * so check if they point at the same address is necessary,
+	 * to avoid freeing the mbuf twice.
 	 */
 	if (ut_params->obuf) {
 		rte_pktmbuf_free(ut_params->obuf);
+		if (ut_params->ibuf == ut_params->obuf)
+			ut_params->ibuf = 0;
 		ut_params->obuf = 0;
 	}
 	if (ut_params->ibuf) {
-- 
2.5.0



More information about the dev mailing list