From 2f5b0c48629e53400f0fa85e22a56e7fa9f6be65 Mon Sep 17 00:00:00 2001 From: Gowrishankar Muthukrishnan Date: Sun, 24 Apr 2022 21:54:55 +0530 Subject: [PATCH] event/cnxk: fix out of bounds access in test Fix out of bounds array access reported in coverity scan. Coverity issue: 375817 Fixes: 2351506401e ("event/cnxk: add SSO selftest and dump") Cc: stable@dpdk.org Signed-off-by: Gowrishankar Muthukrishnan Acked-by: Jerin Jacob --- drivers/event/cnxk/cnxk_eventdev_selftest.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/event/cnxk/cnxk_eventdev_selftest.c b/drivers/event/cnxk/cnxk_eventdev_selftest.c index 2fe6467f88..3aa6f081a7 100644 --- a/drivers/event/cnxk/cnxk_eventdev_selftest.c +++ b/drivers/event/cnxk/cnxk_eventdev_selftest.c @@ -626,6 +626,12 @@ launch_workers_and_wait(int (*main_thread)(void *), /* start core */ -1, /* skip main */ 1, /* wrap */ 0); + if (w_lcore == RTE_MAX_LCORE) { + plt_err("Failed to get next available lcore"); + free(param); + return -1; + } + rte_eal_remote_launch(main_thread, ¶m[0], w_lcore); for (port = 1; port < nb_workers; port++) { @@ -635,6 +641,12 @@ launch_workers_and_wait(int (*main_thread)(void *), param[port].dequeue_tmo_ticks = dequeue_tmo_ticks; rte_atomic_thread_fence(__ATOMIC_RELEASE); w_lcore = rte_get_next_lcore(w_lcore, 1, 0); + if (w_lcore == RTE_MAX_LCORE) { + plt_err("Failed to get next available lcore"); + free(param); + return -1; + } + rte_eal_remote_launch(worker_thread, ¶m[port], w_lcore); } -- 2.20.1