[dpdk-dev] [PATCH] examples/l3fwd: fix error checking
Sunil Kumar Kori
skori at marvell.com
Fri Apr 17 10:25:16 CEST 2020
Patch fixes coverity issues which handle return values from AP
calling.
Coverity issue: 354227, 354232, 354238, 354239, 354240
Fixes: aaf58cb85b62 ("examples/l3fwd: add event port and queue setup")
Signed-off-by: Sunil Kumar Kori <skori at marvell.com>
---
examples/l3fwd/l3fwd_event.c | 6 +++++-
examples/l3fwd/l3fwd_event_generic.c | 9 +++++++--
examples/l3fwd/l3fwd_event_internal_port.c | 10 ++++++++--
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/examples/l3fwd/l3fwd_event.c b/examples/l3fwd/l3fwd_event.c
index 43c47eade..4d31593a0 100644
--- a/examples/l3fwd/l3fwd_event.c
+++ b/examples/l3fwd/l3fwd_event.c
@@ -70,7 +70,11 @@ l3fwd_eth_dev_port_setup(struct rte_eth_conf *port_conf)
printf("Creating queues: nb_rxq=%d nb_txq=1...\n",
evt_rsrc->eth_rx_queues);
- rte_eth_dev_info_get(port_id, &dev_info);
+ ret = rte_eth_dev_info_get(port_id, &dev_info);
+ if (ret != 0)
+ rte_panic("Error during getting device (port %u) info:"
+ "%s\n", port_id, strerror(-ret));
+
if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_MBUF_FAST_FREE)
local_port_conf.txmode.offloads |=
DEV_TX_OFFLOAD_MBUF_FAST_FREE;
diff --git a/examples/l3fwd/l3fwd_event_generic.c b/examples/l3fwd/l3fwd_event_generic.c
index c69c611dd..f8c98435d 100644
--- a/examples/l3fwd/l3fwd_event_generic.c
+++ b/examples/l3fwd/l3fwd_event_generic.c
@@ -101,7 +101,9 @@ l3fwd_event_port_setup_generic(void)
rte_panic("No space is available\n");
memset(&def_p_conf, 0, sizeof(struct rte_event_port_conf));
- rte_event_port_default_conf_get(event_d_id, 0, &def_p_conf);
+ ret = rte_event_port_default_conf_get(event_d_id, 0, &def_p_conf);
+ if (ret < 0)
+ rte_panic("Error to get default configuration of event port\n");
if (def_p_conf.new_event_threshold < event_p_conf.new_event_threshold)
event_p_conf.new_event_threshold =
@@ -161,7 +163,10 @@ l3fwd_event_queue_setup_generic(uint32_t event_queue_cfg)
if (!evt_rsrc->evq.event_q_id)
rte_panic("Memory allocation failure\n");
- rte_event_queue_default_conf_get(event_d_id, 0, &def_q_conf);
+ ret = rte_event_queue_default_conf_get(event_d_id, 0, &def_q_conf);
+ if (ret < 0)
+ rte_panic("Error to get default config of event queue\n");
+
if (def_q_conf.nb_atomic_flows < event_q_conf.nb_atomic_flows)
event_q_conf.nb_atomic_flows = def_q_conf.nb_atomic_flows;
diff --git a/examples/l3fwd/l3fwd_event_internal_port.c b/examples/l3fwd/l3fwd_event_internal_port.c
index 993e26f13..03ac581d6 100644
--- a/examples/l3fwd/l3fwd_event_internal_port.c
+++ b/examples/l3fwd/l3fwd_event_internal_port.c
@@ -99,7 +99,10 @@ l3fwd_event_port_setup_internal_port(void)
if (!evt_rsrc->evp.event_p_id)
rte_panic("Failed to allocate memory for Event Ports\n");
- rte_event_port_default_conf_get(event_d_id, 0, &def_p_conf);
+ ret = rte_event_port_default_conf_get(event_d_id, 0, &def_p_conf);
+ if (ret < 0)
+ rte_panic("Error to get default configuration of event port\n");
+
if (def_p_conf.new_event_threshold < event_p_conf.new_event_threshold)
event_p_conf.new_event_threshold =
def_p_conf.new_event_threshold;
@@ -150,7 +153,10 @@ l3fwd_event_queue_setup_internal_port(uint32_t event_queue_cfg)
uint8_t event_q_id = 0;
int32_t ret;
- rte_event_queue_default_conf_get(event_d_id, event_q_id, &def_q_conf);
+ ret = rte_event_queue_default_conf_get(event_d_id, event_q_id,
+ &def_q_conf);
+ if (ret < 0)
+ rte_panic("Error to get default config of event queue\n");
if (def_q_conf.nb_atomic_flows < event_q_conf.nb_atomic_flows)
event_q_conf.nb_atomic_flows = def_q_conf.nb_atomic_flows;
--
2.17.1
More information about the dev
mailing list