patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] app/test-crypto-perf: fix missing bounds check on socket id
@ 2019-04-08  9:25 Bruce Richardson
  2019-04-16 13:49 ` [dpdk-stable] [dpdk-dev] " Akhil Goyal
  0 siblings, 1 reply; 3+ messages in thread
From: Bruce Richardson @ 2019-04-08  9:25 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson, stable, Declan Doherty, Fan Zhang

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
CC: Declan Doherty <declan.doherty@intel.com>
CC: Fan Zhang <roy.fan.zhang@intel.com>

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 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 175c639fb..4247f6add 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-04-16 15:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-08  9:25 [dpdk-stable] [PATCH] app/test-crypto-perf: fix missing bounds check on socket id Bruce Richardson
2019-04-16 13:49 ` [dpdk-stable] [dpdk-dev] " Akhil Goyal
2019-04-16 15:00   ` Akhil Goyal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).