From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com> To: Kevin Traynor <ktraynor@redhat.com>, "dev@dpdk.org" <dev@dpdk.org> Cc: "stable@dpdk.org" <stable@dpdk.org>, "Nicolau, Radu" <radu.nicolau@intel.com>, Akhil Goyal <akhil.goyal@nxp.com> Subject: Re: [dpdk-stable] [PATCH 2/2] examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning Date: Tue, 10 Mar 2020 19:03:47 +0000 Message-ID: <SN6PR11MB2558F25B17D1FA2D8DAE97A29AFF0@SN6PR11MB2558.namprd11.prod.outlook.com> (raw) In-Reply-To: <39e992a5-544c-48f8-30cf-a4154175b2a0@redhat.com> > >> gcc 10.0.1 reports: > >> > >> ../examples/ipsec-secgw/ipsec_process.c: In function ‘ipsec_process’: > >> ../examples/ipsec-secgw/ipsec_process.c:132:34: > >> error: ‘grp.m’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > >> 132 | grp[n].cnt = pkts + i - grp[n].m; > >> | ~~~~~~^~ > >> > >> Fix by initializing the array. > >> > >> Fixes: 3e5f4625dc17 ("examples/ipsec-secgw: make data-path to use IPsec library") > >> Cc: stable@dpdk.org > >> > >> Signed-off-by: Kevin Traynor <ktraynor@redhat.com> > >> --- > >> note, commit log violates line length but I didn't want to split warning msg. > >> > >> Cc: konstantin.ananyev@intel.com > >> Cc: Radu Nicolau <radu.nicolau@intel.com> > >> Cc: Akhil Goyal <akhil.goyal@nxp.com> > >> --- > >> examples/ipsec-secgw/ipsec_process.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/examples/ipsec-secgw/ipsec_process.c b/examples/ipsec-secgw/ipsec_process.c > >> index bb2f2b82d..0032c5c08 100644 > >> --- a/examples/ipsec-secgw/ipsec_process.c > >> +++ b/examples/ipsec-secgw/ipsec_process.c > >> @@ -287,5 +287,5 @@ ipsec_process(struct ipsec_ctx *ctx, struct ipsec_traffic *trf) > >> struct rte_ipsec_group *pg; > >> struct rte_ipsec_session *ips; > >> - struct rte_ipsec_group grp[RTE_DIM(trf->ipsec.pkts)]; > >> + struct rte_ipsec_group grp[RTE_DIM(trf->ipsec.pkts)] = {}; > > > > Wouldn't that force to generate an extra instructions to zero-out a chunk of memory, > > grp pointitg to? > > Yes > > > Considering that this is perf critical pass, that's probably not a best thing. > > If disabling compiler warning, is not an option, then probably something like code > > below would help? > > Yes, that is a nice suggestion - this will remove the warning with less > instructions and LGTM. > > In this case we can see that the code is safe because the grp[0].cnt is > written with a valid value in the second instance but I suppose > disabling the warning could mask something else later. > > If you're ok with the approach below, I can prepare a v2 with your > "Suggested-by". WDYT? Sounds like a good plan to me. Thanks Konstantin > > Kevin. > > > Konstantin > > > > diff --git a/examples/ipsec-secgw/ipsec_process.c b/examples/ipsec-secgw/ipsec_process.c > > index bb2f2b82d..6d3a3c9a1 100644 > > --- a/examples/ipsec-secgw/ipsec_process.c > > +++ b/examples/ipsec-secgw/ipsec_process.c > > @@ -126,6 +126,7 @@ sa_group(void *sa_ptr[], struct rte_mbuf *pkts[], > > void * const nosa = &spi; > > > > sa = nosa; > > + grp[0].m = pkts; > > for (i = 0, n = 0; i != num; i++) { > > > > if (sa != sa_ptr[i]) { > >
next prev parent reply other threads:[~2020-03-10 19:04 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-20 9:37 [dpdk-stable] [PATCH 1/2] net/avp: " Kevin Traynor 2020-02-20 9:37 ` [dpdk-stable] [PATCH 2/2] examples/ipsec-gw: " Kevin Traynor 2020-02-26 6:12 ` Akhil Goyal 2020-03-10 13:08 ` Ananyev, Konstantin 2020-03-10 18:52 ` Kevin Traynor 2020-03-10 19:03 ` Ananyev, Konstantin [this message] 2020-03-11 11:32 ` [dpdk-stable] [PATCH v2 1/2] net/avp: " Kevin Traynor 2020-03-11 11:33 ` [dpdk-stable] [PATCH v2 2/2] examples/ipsec-gw: " Kevin Traynor 2020-03-11 12:04 ` Ananyev, Konstantin 2020-05-06 9:18 ` [dpdk-stable] [dpdk-dev] " David Marchand 2020-03-11 23:56 ` [dpdk-stable] [PATCH v2 1/2] net/avp: " Webster, Steven 2020-05-06 9:18 ` David Marchand 2020-03-12 13:25 ` [dpdk-stable] [dpdk-dev] " Ferruh Yigit 2020-03-12 14:18 ` Kevin Traynor 2020-03-12 14:31 ` Ferruh Yigit 2020-03-12 15:15 ` Kevin Traynor 2020-03-12 16:47 ` Ferruh Yigit
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=SN6PR11MB2558F25B17D1FA2D8DAE97A29AFF0@SN6PR11MB2558.namprd11.prod.outlook.com \ --to=konstantin.ananyev@intel.com \ --cc=akhil.goyal@nxp.com \ --cc=dev@dpdk.org \ --cc=ktraynor@redhat.com \ --cc=radu.nicolau@intel.com \ --cc=stable@dpdk.org \ /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
patches for DPDK stable branches This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \ stable@dpdk.org public-inbox-index stable Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.stable AGPL code for this site: git clone https://public-inbox.org/public-inbox.git