From: Peter Spreadborough <peter.spreadboro...@broadcom.com> This change addresses the CID 449056: Error handling issues (CHECKED_RETURN) reported by coverity. The changes add return code handling to address the issue.
Coverity issue: 449056 Signed-off-by: Peter Spreadborough <peter.spreadboro...@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khapa...@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 10 +++++++--- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 8 +++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 2429ac2f1a..1a68cf5dfd 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -3612,9 +3612,13 @@ ulp_mapper_func_cond_list_process(struct bnxt_ulp_mapper_parms *parms, } } /* write the value into result */ - ulp_operand_read(val, res_local + res_size - - ULP_BITS_2_BYTE_NR(oper_size), - ULP_BITS_2_BYTE_NR(val_len)); + if (unlikely(ulp_operand_read(val, res_local + res_size - + ULP_BITS_2_BYTE_NR(oper_size), + ULP_BITS_2_BYTE_NR(val_len)))) { + BNXT_DRV_DBG(ERR, + "field idx operand read failed\n"); + return -EINVAL; + } /* convert the data to cpu format */ *res = tfp_be_to_cpu_64(*res); diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index dd5985cd7b..bf3a3deb18 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -517,7 +517,13 @@ ulp_rte_parser_svif_set(struct ulp_rte_parser_params *params, else svif_type = BNXT_ULP_DRV_FUNC_SVIF; } - ulp_port_db_svif_get(params->ulp_ctx, ifindex, svif_type, &svif); + + if (ulp_port_db_svif_get(params->ulp_ctx, ifindex, + svif_type, &svif)) { + BNXT_DRV_DBG(ERR, "ParseErr:ifindex is not valid\n"); + return BNXT_TF_RC_ERROR; + } + svif = rte_cpu_to_be_16(svif); mask = rte_cpu_to_be_16(mask); hdr_field = ¶ms->hdr_field[BNXT_ULP_PROTO_HDR_FIELD_SVIF_IDX]; -- 2.39.5 (Apple Git-154)