]> git.droids-corp.org - dpdk.git/commitdiff
event/cnxk: fix out of bounds access in test
authorGowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Sun, 24 Apr 2022 16:24:55 +0000 (21:54 +0530)
committerJerin Jacob <jerinj@marvell.com>
Tue, 17 May 2022 14:42:44 +0000 (16:42 +0200)
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 <gmuthukrishn@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/event/cnxk/cnxk_eventdev_selftest.c

index 2fe6467f8813ed3d1832b0faf5307fc46b925568..3aa6f081a739331eae4826f9e6ebda0dd5d69cb4 100644 (file)
@@ -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, &param[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, &param[port], w_lcore);
        }