[dpdk-dev] [PATCH] autotests: fix mempool element size in func_reentrancy

Olivier Matz olivier.matz at 6wind.com
Mon Apr 11 11:33:23 CEST 2016


The mempool element size is set to 0, but 4 bytes are written in
my_obj_init():

  uint32_t *objnum = obj;
  memset(obj, 0, mp->elt_size);
  *objnum = i;

Change the MEMPOOL_ELT_SIZE constant to sizeof(uint32_t). This fixes
memory corruptions since we were writting outside of the object
boundaries.

Fixes: 104a92bd026 ("app: add reentrancy tests")
Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
---
 app/test/test_func_reentrancy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c
index 300a3bc..e5b2821 100644
--- a/app/test/test_func_reentrancy.c
+++ b/app/test/test_func_reentrancy.c
@@ -78,7 +78,7 @@ typedef void (*case_clean_t)(unsigned lcore_id);
 #define MAX_ITER_TIMES                      (16)
 #define MAX_LPM_ITER_TIMES                  (8)
 
-#define MEMPOOL_ELT_SIZE                    (0)
+#define MEMPOOL_ELT_SIZE                    (sizeof(uint32))
 #define MEMPOOL_SIZE                        (4)
 
 #define MAX_LCORES	RTE_MAX_MEMZONE / (MAX_ITER_TIMES * 4U)
-- 
2.1.4



More information about the dev mailing list