From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: "Mrozowicz, SlawomirX" <slawomirx.mrozowicz@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Singh, Jasvinder" <jasvinder.singh@intel.com>
Subject: Re: [dpdk-dev] [PATCH v3] examples/qos_meter: fix unchecked return value
Date: Tue, 10 May 2016 17:41:50 +0000 [thread overview]
Message-ID: <3EB4FA525960D640B5BDFFD6A3D89126479BAFA7@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <1462783091-2538-1-git-send-email-slawomirx.mrozowicz@intel.com>
> -----Original Message-----
> From: Mrozowicz, SlawomirX
> Sent: Monday, May 9, 2016 9:38 AM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>;
> Mrozowicz, SlawomirX <slawomirx.mrozowicz@intel.com>
> Subject: [PATCH v3] examples/qos_meter: fix unchecked return value
>
> Fix issue reported by Coverity.
>
> Coverity ID 30693: Unchecked return value
> check_return: Calling rte_meter_srtcm_config without checking return
> value.
>
> Fixes: e6541fdec8b2 ("meter: initial import")
>
> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
> ---
> examples/qos_meter/main.c | 15 ++++++++++-----
> examples/qos_meter/main.h | 2 +-
> 2 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
> index b968b00..7c69606 100644
> --- a/examples/qos_meter/main.c
> +++ b/examples/qos_meter/main.c
> @@ -133,14 +133,17 @@ struct rte_meter_trtcm_params
> app_trtcm_params[] = {
>
> FLOW_METER app_flows[APP_FLOWS_MAX];
>
> -static void
> +static int
> app_configure_flow_table(void)
> {
> uint32_t i, j;
> + int ret = 0;
>
> - for (i = 0, j = 0; i < APP_FLOWS_MAX; i ++, j = (j + 1) %
> RTE_DIM(PARAMS)){
> - FUNC_CONFIG(&app_flows[i], &PARAMS[j]);
> - }
> + for (i = 0, j = 0; i < APP_FLOWS_MAX && ret == 0;
> + i ++, j = (j + 1) % RTE_DIM(PARAMS))
> + ret = FUNC_CONFIG(&app_flows[i], &PARAMS[j]);
> +
> + return ret;
> }
This is only returns the configuration status for the last flow and leaves undetected an error for any other flow. Why not check the status for each flow and return an error on first occurrence?
For (...){ret = FUNC_CONFIG(...); if (ret) return ret;}
>
> static inline void
> @@ -381,7 +384,9 @@ main(int argc, char **argv)
> rte_eth_promiscuous_enable(port_tx);
>
> /* App configuration */
> - app_configure_flow_table();
> + ret = app_configure_flow_table();
> + if (ret < 0)
> + rte_exit(EXIT_FAILURE, "Invalid configure flow table\n");
>
> /* Launch per-lcore init on every lcore */
> rte_eal_mp_remote_launch(main_loop, NULL, CALL_MASTER);
> diff --git a/examples/qos_meter/main.h b/examples/qos_meter/main.h
> index 530bf69..54867dc 100644
> --- a/examples/qos_meter/main.h
> +++ b/examples/qos_meter/main.h
> @@ -51,7 +51,7 @@ enum policer_action
> policer_table[e_RTE_METER_COLORS][e_RTE_METER_COLORS] =
> #if APP_MODE == APP_MODE_FWD
>
> #define FUNC_METER(a,b,c,d) color, flow_id=flow_id, pkt_len=pkt_len,
> time=time
> -#define FUNC_CONFIG(a,b)
> +#define FUNC_CONFIG(a, b) 0
> #define PARAMS app_srtcm_params
> #define FLOW_METER int
>
> --
> 1.9.1
next prev parent reply other threads:[~2016-05-10 17:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-09 8:38 Slawomir Mrozowicz
2016-05-10 17:41 ` Dumitrescu, Cristian [this message]
2016-05-11 9:14 ` Mrozowicz, SlawomirX
2016-05-11 17:57 ` Dumitrescu, Cristian
2016-05-12 7:06 ` Mrozowicz, SlawomirX
2016-05-12 9:40 ` Dumitrescu, Cristian
2016-05-12 9:49 ` Dumitrescu, Cristian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3EB4FA525960D640B5BDFFD6A3D89126479BAFA7@IRSMSX108.ger.corp.intel.com \
--to=cristian.dumitrescu@intel.com \
--cc=dev@dpdk.org \
--cc=jasvinder.singh@intel.com \
--cc=slawomirx.mrozowicz@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).