app/test-crypto-perf: fix missing bounds check on socket id

Message ID 20190408092514.36330-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series app/test-crypto-perf: fix missing bounds check on socket id |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Bruce Richardson April 8, 2019, 9:25 a.m. UTC
  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(+)
  

Comments

Akhil Goyal April 16, 2019, 1:49 p.m. UTC | #1
> 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>

Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
  
Akhil Goyal April 16, 2019, 3 p.m. UTC | #2
> > 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>
> 
> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>

Applied to dpdk-next-crypto

Thanks.
  

Patch

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) {