[v1] vhost: slot_idx needs to be initialised to fix gcc compile error
Checks
Commit Message
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
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
@@ -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;