[v2,2/2] examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning

Message ID 20200311113300.32487-2-ktraynor@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2,1/2] net/avp: fix gcc 10 maybe-uninitialized warning |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Kevin Traynor March 11, 2020, 11:33 a.m. UTC
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;
      |                            ~~~~~~^~

This is a correct warning for the initial execution of the statement.
However, it is the design of the loop that grp[0].cnt will later be
written with the correct value using an initialized grp[0].m before it
is used.

In order to remove the warning, initialize grp[0].m for the initial and
unused calculation of grp[0].cnt.

Fixes: 3e5f4625dc17 ("examples/ipsec-secgw: make data-path to use IPsec library")
Cc: stable@dpdk.org

Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
v2: just initialize grp[0].m instead of the full array.

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 | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Ananyev, Konstantin March 11, 2020, 12:04 p.m. UTC | #1
> -----Original Message-----
> From: Kevin Traynor <ktraynor@redhat.com>
> Sent: Wednesday, March 11, 2020 11:33 AM
> To: dev@dpdk.org
> Cc: Kevin Traynor <ktraynor@redhat.com>; stable@dpdk.org; Ananyev, Konstantin <konstantin.ananyev@intel.com>; Nicolau, Radu
> <radu.nicolau@intel.com>; Akhil Goyal <akhil.goyal@nxp.com>
> Subject: [PATCH v2 2/2] examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning
> 
> 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;
>       |                            ~~~~~~^~
> 
> This is a correct warning for the initial execution of the statement.
> However, it is the design of the loop that grp[0].cnt will later be
> written with the correct value using an initialized grp[0].m before it
> is used.
> 
> In order to remove the warning, initialize grp[0].m for the initial and
> unused calculation of grp[0].cnt.
> 
> Fixes: 3e5f4625dc17 ("examples/ipsec-secgw: make data-path to use IPsec library")
> Cc: stable@dpdk.org
> 
> Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> ---
> v2: just initialize grp[0].m instead of the full array.
> 
> 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 | 1 +
>  1 file changed, 1 insertion(+)
> 
> 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
> @@ -127,4 +127,5 @@ sa_group(void *sa_ptr[], struct rte_mbuf *pkts[],
> 
>  	sa = nosa;
> +	grp[0].m = pkts;
>  	for (i = 0, n = 0; i != num; i++) {
> 
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.21.1
  
David Marchand May 6, 2020, 9:18 a.m. UTC | #2
On Wed, Mar 11, 2020 at 1:05 PM Ananyev, Konstantin
<konstantin.ananyev@intel.com> wrote:
> > From: Kevin Traynor <ktraynor@redhat.com>
> > Sent: Wednesday, March 11, 2020 11:33 AM
> > To: dev@dpdk.org
> > Cc: Kevin Traynor <ktraynor@redhat.com>; stable@dpdk.org; Ananyev, Konstantin <konstantin.ananyev@intel.com>; Nicolau, Radu
> > <radu.nicolau@intel.com>; Akhil Goyal <akhil.goyal@nxp.com>
> > Subject: [PATCH v2 2/2] examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning
> >
> > 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;
> >       |                            ~~~~~~^~
> >
> > This is a correct warning for the initial execution of the statement.
> > However, it is the design of the loop that grp[0].cnt will later be
> > written with the correct value using an initialized grp[0].m before it
> > is used.
> >
> > In order to remove the warning, initialize grp[0].m for the initial and
> > unused calculation of grp[0].cnt.
> >
> > Fixes: 3e5f4625dc17 ("examples/ipsec-secgw: make data-path to use IPsec library")
> > Cc: stable@dpdk.org
> >
> > Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> > Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

Applied, thanks.
  

Patch

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
@@ -127,4 +127,5 @@  sa_group(void *sa_ptr[], struct rte_mbuf *pkts[],
 
 	sa = nosa;
+	grp[0].m = pkts;
 	for (i = 0, n = 0; i != num; i++) {