From 92a3ea2244a83155ec958aaa45ad40460e3e81d0 Mon Sep 17 00:00:00 2001 From: Arek Kusztal Date: Mon, 26 Jul 2021 17:47:49 +0100 Subject: [PATCH] crypto/qat: fix array access Fix possible access of an array by negative index in function qat_sym_qp_setup. Coverity issue: 372131, 372134 Fixes: 8f393c4ffdc1 ("common/qat: support GEN4 devices") Signed-off-by: Arek Kusztal Acked-by: Adam Dybkowski --- drivers/crypto/qat/qat_sym_pmd.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/qat/qat_sym_pmd.c b/drivers/crypto/qat/qat_sym_pmd.c index 1c7b142511..6868e5f001 100644 --- a/drivers/crypto/qat/qat_sym_pmd.c +++ b/drivers/crypto/qat/qat_sym_pmd.c @@ -176,16 +176,17 @@ static int qat_sym_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id, int ring_pair = qat_select_valid_queue(qat_dev, qp_id, QAT_SERVICE_SYMMETRIC); - sym_hw_qps = - &qat_dev->qp_gen4_data[0][0]; - qp_hw_data = - &qat_dev->qp_gen4_data[ring_pair][0]; + if (ring_pair < 0) { QAT_LOG(ERR, "qp_id %u invalid for this device, no enough services allocated for GEN4 device", qp_id); return -EINVAL; } + sym_hw_qps = + &qat_dev->qp_gen4_data[0][0]; + qp_hw_data = + &qat_dev->qp_gen4_data[ring_pair][0]; } else { sym_hw_qps = qat_gen_config[qat_dev->qat_dev_gen] .qp_hw_data[QAT_SERVICE_SYMMETRIC]; -- 2.20.1