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