[v1] vhost: slot_idx needs to be initialised to fix gcc compile error

Message ID 20201104170205.1688705-1-conor.walsh@intel.com (mailing list archive)
State Rejected, archived
Delegated to: Maxime Coquelin
Headers
Series [v1] vhost: slot_idx needs to be initialised to fix gcc compile error |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Conor Walsh Nov. 4, 2020, 5:02 p.m. UTC
  When DPDK is compiled with gcc < 9 with the optimization level set to 1
gcc sees slot_idx as possibly being uninitialised. To correct this error
slot_idx has been initialised to 0.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 lib/librte_vhost/virtio_net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Maxime Coquelin Nov. 4, 2020, 5:05 p.m. UTC | #1
Hi Conor,

On 11/4/20 6:02 PM, Conor Walsh wrote:
> When DPDK is compiled with gcc < 9 with the optimization level set to 1
> gcc sees slot_idx as possibly being uninitialised. To correct this error
> slot_idx has been initialised to 0.
> 
> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
> ---
>  lib/librte_vhost/virtio_net.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
> index 3a019b7446..bef39180b5 100644
> --- a/lib/librte_vhost/virtio_net.c
> +++ b/lib/librte_vhost/virtio_net.c
> @@ -1491,7 +1491,7 @@ virtio_dev_rx_async_submit_split(struct virtio_net *dev,
>  	struct iovec *dst_iovec = vec_pool + (VHOST_MAX_ASYNC_VEC >> 1);
>  	struct rte_vhost_iov_iter *src_it = it_pool;
>  	struct rte_vhost_iov_iter *dst_it = it_pool + 1;
> -	uint16_t n_free_slot, slot_idx;
> +	uint16_t n_free_slot, slot_idx = 0;
>  	uint16_t pkt_err = 0;
>  	uint16_t segs_await = 0;
>  	struct async_inflight_info *pkts_info = vq->async_pkts_info;
> 


Same patch has already been submitted and merged:
https://patches.dpdk.org/patch/82281/

Thanks,
Maxime
  

Patch

diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
index 3a019b7446..bef39180b5 100644
--- a/lib/librte_vhost/virtio_net.c
+++ b/lib/librte_vhost/virtio_net.c
@@ -1491,7 +1491,7 @@  virtio_dev_rx_async_submit_split(struct virtio_net *dev,
 	struct iovec *dst_iovec = vec_pool + (VHOST_MAX_ASYNC_VEC >> 1);
 	struct rte_vhost_iov_iter *src_it = it_pool;
 	struct rte_vhost_iov_iter *dst_it = it_pool + 1;
-	uint16_t n_free_slot, slot_idx;
+	uint16_t n_free_slot, slot_idx = 0;
 	uint16_t pkt_err = 0;
 	uint16_t segs_await = 0;
 	struct async_inflight_info *pkts_info = vq->async_pkts_info;