[dpdk-dev] [PATCH v1] net/mlx4: fix missing initializers for old GCC

Nélio Laranjeiro nelio.laranjeiro at 6wind.com
Tue Oct 24 17:21:14 CEST 2017


On Tue, Oct 24, 2017 at 04:35:05PM +0200, Adrien Mazarguil wrote:
> Hi Nelio,
> 
> On Tue, Oct 24, 2017 at 04:03:15PM +0200, Nélio Laranjeiro wrote:
> > Hi Moti,
> > 
> > On Tue, Oct 24, 2017 at 03:35:33PM +0300, Moti Haimovsky wrote:
> > > This patch works around compilation issues seen on RHEL 7.2
> > > using GCC 4.8.5:
> > > 
> > >    [...] In function 'mlx4_rss_init':
> > >    [...]/mlx4_rxq.c:433:19: error: 'wq_num' may be used uninitialized
> > >         in this function [-Werror=maybe-uninitialized]
> > > 
> > > Fixes: ff3397e90080 ("net/mlx4: relax Rx queue configuration order")
> > > 
> > > Signed-off-by: Moti Haimovsky <motih at mellanox.com>
> > > ---
> > >  drivers/net/mlx4/mlx4_rxq.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c
> > > index fb28290..4c50077 100644
> > > --- a/drivers/net/mlx4/mlx4_rxq.c
> > > +++ b/drivers/net/mlx4/mlx4_rxq.c
> > > @@ -417,6 +417,8 @@ void mlx4_rss_detach(struct mlx4_rss *rss)
> > >  		if (wq) {
> > >  			wq_num = wq->wq_num;
> > >  			claim_zero(ibv_destroy_wq(wq));
> > > +		} else {
> > > +			 wq_num = 0; /* Shut up GCC 4.8 warnings. */
> > >  		}
> > >  		claim_zero(ibv_destroy_cq(cq));
> > >  		if (!wq) {
> > 
> > Why not initialising the wq_num at 0 directly instead of adding this
> > else branch?
> 
> Actually that was my suggestion, it is done to highlight the code path
> where buggy GCC versions choke on what they mistake for an uninitialized
> variable. Initializing this variable earlier could possibly hide bugs
> otherwise.

I'll agree with this also.

> 
> Patch is OK for me as is:
> 
> Acked-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
> 
> -- 
> Adrien Mazarguil
> 6WIND

-- 
Nélio Laranjeiro
6WIND


More information about the dev mailing list