[dpdk-dev] [PATCH 04/10] net/i40e: fix compilation with -Og

Ferruh Yigit ferruh.yigit at intel.com
Fri Oct 6 01:24:48 CEST 2017


On 9/11/2017 4:13 PM, Olivier Matz wrote:
> The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
> error:
> 
>   CC i40e_adminq.o
>   i40e_adminq.c: In function ‘i40e_clean_arq_element’:
>   i40e_adminq.c:1145:56: error: ‘ntu’ may be used uninitialized in
>                          this function [-Werror=maybe-uninitialized]
>      *pending = (ntc > ntu ? hw->aq.arq.count : 0) + (ntu - ntc);
>                                                      ~~~~~^~~~~~
> 
> Depending on what is defined, ntu actually be used without being
> initialized. Fix it by initializing it to 0, despite this is probably
> not the proper fix. Moreover, the error is located in base/ directory,
> which contains driver code common to several platforms (not only dpdk).

This practically seems false positive because driver makefile hard-coded
both defines.

Also ntu used before this location, not sure warning generated for here.

Overall I am for fixing the compile warning, but for decision maintainer
cc'ed because this being base code update requires maintainer
communicate other channels to reflect update into base code.

> 
> Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
> ---
>  drivers/net/i40e/base/i40e_adminq.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c
> index 8cc8c5eca..27c133323 100644
> --- a/drivers/net/i40e/base/i40e_adminq.c
> +++ b/drivers/net/i40e/base/i40e_adminq.c
> @@ -1047,7 +1047,7 @@ enum i40e_status_code i40e_clean_arq_element(struct i40e_hw *hw,
>  	u16 desc_idx;
>  	u16 datalen;
>  	u16 flags;
> -	u16 ntu;
> +	u16 ntu = 0;
>  
>  	/* pre-clean the event info */
>  	i40e_memset(&e->desc, 0, sizeof(e->desc), I40E_NONDMA_MEM);
> 



More information about the dev mailing list