test/mempool: fix object initializer
authorOlivier Matz <olivier.matz@6wind.com>
Tue, 27 Apr 2021 13:56:45 +0000 (15:56 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 4 May 2021 20:41:31 +0000 (22:41 +0200)
The function rte_pktmbuf_init() expects that the mempool private area is
large enough and was previously initialized by rte_pktmbuf_pool_init(),
which is not the case.

This causes the function rte_pktmbuf_priv_size() to return an
unpredictable value, and this value is used as a size in a memset.

Replace the mempool object initializer by my_obj_init(), which does not
have this constraint, and fits the needs for this test.

Fixes: 923ceaeac140 ("test/mempool: add unit test cases")
Cc: stable@dpdk.org
Reported-by: Wenwu Ma <wenwux.ma@intel.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
app/test/test_mempool.c

index 084842f..3adadd6 100644 (file)
@@ -552,7 +552,7 @@ test_mempool(void)
                GOTO_ERR(ret, err);
 
        /* test to initialize mempool objects and memory */
-       nb_objs = rte_mempool_obj_iter(mp_stack_mempool_iter, rte_pktmbuf_init,
+       nb_objs = rte_mempool_obj_iter(mp_stack_mempool_iter, my_obj_init,
                        NULL);
        if (nb_objs == 0)
                GOTO_ERR(ret, err);