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 = &params->hdr_field[BNXT_ULP_PROTO_HDR_FIELD_SVIF_IDX];
-- 
2.39.5 (Apple Git-154)

Reply via email to