[dpdk-stable] [PATCH] net/thunderx: fix build with gcc optimization on

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun Jun 24 14:17:24 CEST 2018


-----Original Message-----
> Date: Thu, 21 Jun 2018 19:14:50 +0100
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> To: Jerin Jacob <jerin.jacob at caviumnetworks.com>, Maciej Czekaj
>  <maciej.czekaj at caviumnetworks.com>
> CC: dev at dpdk.org, Ferruh Yigit <ferruh.yigit at intel.com>, stable at dpdk.org
> Subject: [PATCH] net/thunderx: fix build with gcc optimization on
> X-Mailer: git-send-email 2.17.1
> 
> 
> build error gcc version 6.3.1 20161221 (Red Hat 6.3.1-1),
> with EXTRA_CFLAGS="-O3":
> 
> .../drivers/net/thunderx/nicvf_ethdev.c:907:9:
>    error: ‘txq’ may be used uninitialized in this function
>    [-Werror=maybe-uninitialized]
>   if (txq->pool_free == nicvf_single_pool_free_xmited_buffers)
>       ~~~^~~~~~~~~~~
> .../drivers/net/thunderx/nicvf_ethdev.c:886:20:
>    note: ‘txq’ was declared here
>   struct nicvf_txq *txq;
>                     ^~~
> 
> Same error on function 'nicvf_eth_dev_init' and 'nicvf_dev_start', it
> seems 'nicvf_set_tx_function' inlined when optimization enabled.
> 
> Initialize the txq and add NULL check before using it to fix.
> 
> Fixes: 7413feee662d ("net/thunderx: add device start/stop and close")
> Cc: stable at dpdk.org
> 
> Reported-by: Richard Walsh <richard.walsh at intel.com>
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>

Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>

> ---
> 
> Btw, no compiler optimization enabled, only nicvf_rxtx.c has -Ofast,
> is this intentional?

Yes. At least in our setup, -Ofast turns out to be super set of -O3.



More information about the stable mailing list