[dpdk-dev] [PATCH 2/2] examples/ipsec-secgw: check return value of function

Ankur Dwivedi adwivedi at marvell.com
Fri Apr 17 17:41:55 CEST 2020


The return values of functions are checked before proceeding further.

Coverity Issues: 355670, 355671, 355672, 355673
Fixes: ec3cc53f5a66 ("examples/ipsec-secgw: support internal ports for events"

Signed-off-by: Ankur Dwivedi <adwivedi at marvell.com>
---
 examples/ipsec-secgw/event_helper.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/examples/ipsec-secgw/event_helper.c b/examples/ipsec-secgw/event_helper.c
index 076f1f2..865dc91 100644
--- a/examples/ipsec-secgw/event_helper.c
+++ b/examples/ipsec-secgw/event_helper.c
@@ -100,12 +100,15 @@
 eh_dev_has_rx_internal_port(uint8_t eventdev_id)
 {
 	bool flag = true;
-	int j;
+	int j, ret;
 
 	RTE_ETH_FOREACH_DEV(j) {
 		uint32_t caps = 0;
 
-		rte_event_eth_rx_adapter_caps_get(eventdev_id, j, &caps);
+		ret = rte_event_eth_rx_adapter_caps_get(eventdev_id, j, &caps);
+		if (ret < 0)
+			return false;
+
 		if (!(caps & RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT))
 			flag = false;
 	}
@@ -116,12 +119,15 @@
 eh_dev_has_tx_internal_port(uint8_t eventdev_id)
 {
 	bool flag = true;
-	int j;
+	int j, ret;
 
 	RTE_ETH_FOREACH_DEV(j) {
 		uint32_t caps = 0;
 
-		rte_event_eth_tx_adapter_caps_get(eventdev_id, j, &caps);
+		ret = rte_event_eth_tx_adapter_caps_get(eventdev_id, j, &caps);
+		if (ret < 0)
+			return false;
+
 		if (!(caps & RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT))
 			flag = false;
 	}
@@ -323,6 +329,7 @@
 	int nb_eth_dev;
 	int adapter_id;
 	int conn_id;
+	int ret;
 	int i;
 
 	/* Create one adapter with eth queues mapped to event queue(s) */
@@ -385,7 +392,12 @@
 		conn->ethdev_rx_qid = -1;
 
 		/* Get Rx adapter capabilities */
-		rte_event_eth_rx_adapter_caps_get(eventdev_id, i, &caps);
+		ret = rte_event_eth_rx_adapter_caps_get(eventdev_id, i, &caps);
+		if (ret < 0) {
+			EH_LOG_ERR("Failed to get event device %d eth rx adapter"
+				   " capabilities for port %d", eventdev_id, i);
+			return ret;
+		}
 		if (!(caps & RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT))
 			rx_internal_port = false;
 
@@ -420,6 +432,7 @@
 	int adapter_id;
 	int nb_eth_dev;
 	int conn_id;
+	int ret;
 	int i;
 
 	/*
@@ -479,7 +492,12 @@
 		conn->ethdev_tx_qid = -1;
 
 		/* Get Tx adapter capabilities */
-		rte_event_eth_tx_adapter_caps_get(eventdev_id, i, &caps);
+		ret = rte_event_eth_tx_adapter_caps_get(eventdev_id, i, &caps);
+		if (ret < 0) {
+			EH_LOG_ERR("Failed to get event device %d eth tx adapter"
+				   " capabilities for port %d", eventdev_id, i);
+			return ret;
+		}
 		if (!(caps & RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT))
 			tx_internal_port = false;
 
-- 
1.9.3



More information about the dev mailing list