[dpdk-dev] [PATCH] examples/l3fwd: fix error checking

Jerin Jacob jerinjacobk at gmail.com
Fri May 1 19:43:51 CEST 2020


On Fri, May 1, 2020 at 4:45 PM Pavan Nikhilesh Bhagavatula
<pbhagavatula at marvell.com> wrote:
>
> >Subject: [PATCH] examples/l3fwd: fix error checking
> >
> >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>
>
> Acked-by: Pavan Nikhilesh <pbhagavatula at marvell.com>

Cc: stable at dpdk.org

Applied to dpdk-next-eventdev/master. Thanks.

>
> >---
> > 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