net/ixgbe: fix build for gcc 4.8.5

Message ID 20200114175247.2930261-1-ferruh.yigit@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/ixgbe: fix build for gcc 4.8.5 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-nxp-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed

Commit Message

Ferruh Yigit Jan. 14, 2020, 5:52 p.m. UTC
  Build error:
  In function ‘ixgbe_recv_pkts_lro_bulk_alloc’:
../drivers/net/ixgbe/ixgbe_rxtx.c:2209:24:
  error: ‘next_sc_entry’ may be used uninitialized in this function
  [-Werror=maybe-uninitialized]
    next_sc_entry->fbuf = first_seg;
                        ^
http://mails.dpdk.org/archives/test-report/2020-January/113891.html

This is a compiler false positive and error not seen by newer compilers,
or clang but to fix the warning initializing the complained variable.

According git bisect, no idea how:
Fixes: 8a2e7ce976fd ("net/ixgbe: avoid multiple definitions of bool")

Reported-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
Cc: dharmik.thakkar@arm.com
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Maxime Coquelin Jan. 14, 2020, 6:01 p.m. UTC | #1
On 1/14/20 6:52 PM, Ferruh Yigit wrote:
> Build error:
>   In function ‘ixgbe_recv_pkts_lro_bulk_alloc’:
> ../drivers/net/ixgbe/ixgbe_rxtx.c:2209:24:
>   error: ‘next_sc_entry’ may be used uninitialized in this function
>   [-Werror=maybe-uninitialized]
>     next_sc_entry->fbuf = first_seg;
>                         ^
> http://mails.dpdk.org/archives/test-report/2020-January/113891.html
> 
> This is a compiler false positive and error not seen by newer compilers,
> or clang but to fix the warning initializing the complained variable.

You might want to add the RHEL7 GCC version I reproduced it on:
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

> According git bisect, no idea how:
> Fixes: 8a2e7ce976fd ("net/ixgbe: avoid multiple definitions of bool")
> 
> Reported-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Tested-by: Maxime Coquelin <maxime.coquelin@redhat.com>

> ---
> Cc: dharmik.thakkar@arm.com
> ---
>  drivers/net/ixgbe/ixgbe_rxtx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index 13b06eb9c..30f890572 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -2028,7 +2028,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
>  		bool eop;
>  		struct ixgbe_rx_entry *rxe;
>  		struct ixgbe_scattered_rx_entry *sc_entry;
> -		struct ixgbe_scattered_rx_entry *next_sc_entry;
> +		struct ixgbe_scattered_rx_entry *next_sc_entry = NULL;
>  		struct ixgbe_rx_entry *next_rxe = NULL;
>  		struct rte_mbuf *first_seg;
>  		struct rte_mbuf *rxm;
>
  
Xiaolong Ye Jan. 15, 2020, 10:17 a.m. UTC | #2
On 01/14, Ferruh Yigit wrote:
>Build error:
>  In function ‘ixgbe_recv_pkts_lro_bulk_alloc’:
>../drivers/net/ixgbe/ixgbe_rxtx.c:2209:24:
>  error: ‘next_sc_entry’ may be used uninitialized in this function
>  [-Werror=maybe-uninitialized]
>    next_sc_entry->fbuf = first_seg;
>                        ^
>http://mails.dpdk.org/archives/test-report/2020-January/113891.html
>
>This is a compiler false positive and error not seen by newer compilers,
>or clang but to fix the warning initializing the complained variable.
>
>According git bisect, no idea how:
>Fixes: 8a2e7ce976fd ("net/ixgbe: avoid multiple definitions of bool")
>
>Reported-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>---
>Cc: dharmik.thakkar@arm.com
>---
> drivers/net/ixgbe/ixgbe_rxtx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
>index 13b06eb9c..30f890572 100644
>--- a/drivers/net/ixgbe/ixgbe_rxtx.c
>+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
>@@ -2028,7 +2028,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
> 		bool eop;
> 		struct ixgbe_rx_entry *rxe;
> 		struct ixgbe_scattered_rx_entry *sc_entry;
>-		struct ixgbe_scattered_rx_entry *next_sc_entry;
>+		struct ixgbe_scattered_rx_entry *next_sc_entry = NULL;
> 		struct ixgbe_rx_entry *next_rxe = NULL;
> 		struct rte_mbuf *first_seg;
> 		struct rte_mbuf *rxm;
>-- 
>2.24.1
>

Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
  
Ferruh Yigit Jan. 15, 2020, 4:50 p.m. UTC | #3
On 1/15/2020 10:17 AM, Ye Xiaolong wrote:
> On 01/14, Ferruh Yigit wrote:
>> Build error:
>>  In function ‘ixgbe_recv_pkts_lro_bulk_alloc’:
>> ../drivers/net/ixgbe/ixgbe_rxtx.c:2209:24:
>>  error: ‘next_sc_entry’ may be used uninitialized in this function
>>  [-Werror=maybe-uninitialized]
>>    next_sc_entry->fbuf = first_seg;
>>                        ^
>> http://mails.dpdk.org/archives/test-report/2020-January/113891.html
>>
>> This is a compiler false positive and error not seen by newer compilers,
>> or clang but to fix the warning initializing the complained variable.
>>
>> According git bisect, no idea how:
>> Fixes: 8a2e7ce976fd ("net/ixgbe: avoid multiple definitions of bool")
>>
>> Reported-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> ---
>> Cc: dharmik.thakkar@arm.com
>> ---
>> drivers/net/ixgbe/ixgbe_rxtx.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
>> index 13b06eb9c..30f890572 100644
>> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
>> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
>> @@ -2028,7 +2028,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
>> 		bool eop;
>> 		struct ixgbe_rx_entry *rxe;
>> 		struct ixgbe_scattered_rx_entry *sc_entry;
>> -		struct ixgbe_scattered_rx_entry *next_sc_entry;
>> +		struct ixgbe_scattered_rx_entry *next_sc_entry = NULL;
>> 		struct ixgbe_rx_entry *next_rxe = NULL;
>> 		struct rte_mbuf *first_seg;
>> 		struct rte_mbuf *rxm;
>> -- 
>> 2.24.1
>>
> 
> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
> 

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 13b06eb9c..30f890572 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2028,7 +2028,7 @@  ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
 		bool eop;
 		struct ixgbe_rx_entry *rxe;
 		struct ixgbe_scattered_rx_entry *sc_entry;
-		struct ixgbe_scattered_rx_entry *next_sc_entry;
+		struct ixgbe_scattered_rx_entry *next_sc_entry = NULL;
 		struct ixgbe_rx_entry *next_rxe = NULL;
 		struct rte_mbuf *first_seg;
 		struct rte_mbuf *rxm;