From 64c469b9e7d8faa85745adbfaf02d17cbb5b2bb4 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Mon, 8 Apr 2019 10:25:14 +0100 Subject: [PATCH] app/crypto-perf: check range of socket id The socket_id is used as an array index so should be within the range of zero to max numa nodes. Add a range check to ensure we don't get excessive values. Coverity issue: 336812 Coverity issue: 336829 Fixes: 2c59bd32b70d ("cryptodev: do not create session mempool internally") CC: stable@dpdk.org Signed-off-by: Bruce Richardson Acked-by: Fan Zhang Acked-by: Akhil Goyal --- app/test-crypto-perf/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c index 175c639fbe..4247f6add9 100644 --- a/app/test-crypto-perf/main.c +++ b/app/test-crypto-perf/main.c @@ -183,6 +183,11 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs) struct rte_cryptodev_info cdev_info; uint8_t socket_id = rte_cryptodev_socket_id(cdev_id); + /* range check the socket_id - negative values become big + * positive ones due to use of unsigned value + */ + if (socket_id >= RTE_MAX_NUMA_NODES) + socket_id = 0; rte_cryptodev_info_get(cdev_id, &cdev_info); if (opts->nb_qps > cdev_info.max_nb_queue_pairs) { -- 2.20.1