From 6399acaded4205ef4e81f375776df7db266826c1 Mon Sep 17 00:00:00 2001 From: Elena Agostini Date: Thu, 25 Nov 2021 23:03:32 +0000 Subject: [PATCH] app/gpudev: remove memory leaks Remove all memory leaks in case of errors in test-gpudev application. Fixes: e818c4e2bf50 ("gpudev: add memory API") Fixes: c7ebd65c1372 ("gpudev: add communication list") Signed-off-by: Elena Agostini --- app/test-gpudev/main.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/test-gpudev/main.c b/app/test-gpudev/main.c index c647e30de4..5c1aa3d52f 100644 --- a/app/test-gpudev/main.c +++ b/app/test-gpudev/main.c @@ -117,6 +117,10 @@ alloc_gpu_memory(uint16_t gpu_id) return 0; error: + + rte_gpu_mem_free(gpu_id, ptr_1); + rte_gpu_mem_free(gpu_id, ptr_2); + printf("\n=======> TEST: FAILED\n"); return -1; } @@ -161,10 +165,15 @@ register_cpu_memory(uint16_t gpu_id) } printf("CPU memory 0x%p unregistered\n", ptr); + rte_free(ptr); + printf("\n=======> TEST: PASSED\n"); return 0; error: + + rte_gpu_mem_unregister(gpu_id, ptr); + rte_free(ptr); printf("\n=======> TEST: FAILED\n"); return -1; } @@ -227,6 +236,8 @@ create_update_comm_flag(uint16_t gpu_id) return 0; error: + + rte_gpu_comm_destroy_flag(&devflag); printf("\n=======> TEST: FAILED\n"); return -1; } @@ -254,7 +265,7 @@ create_update_comm_list(uint16_t gpu_id) { int ret = 0; int i = 0; - struct rte_gpu_comm_list *comm_list; + struct rte_gpu_comm_list *comm_list = NULL; uint32_t num_comm_items = 1024; struct rte_mbuf *mbufs[10]; @@ -327,6 +338,10 @@ create_update_comm_list(uint16_t gpu_id) return 0; error: + + rte_gpu_comm_destroy_list(comm_list, num_comm_items); + for (i = 0; i < 10; i++) + rte_free(mbufs[i]); printf("\n=======> TEST: FAILED\n"); return -1; } -- 2.20.1