[dpdk-dev] [PATCH] net/virtio: fix build with gcc optimization on

Marvin Liu yong.liu at intel.com
Wed Jul 4 12:56:25 CEST 2018


build error on gcc version 8.1.1 20180502 (Red Hat 8.1.1-1),
with optimization level >= O2

.../drivers/net/virtio/virtio_rxtx.c:
   In function ‘virtio_xmit_cleanup_inorder’:
.../drivers/net/virtio/virtio_rxtx.c:195:24:
   error: ‘desc_idx’ may be used uninitialized in this function
   [-Werror=maybe-uninitialized]
  uint16_t i, used_idx, desc_idx, last_idx;
                        ^~~~~~~~
Optimization option fcode-hoisting will cause error on gcc 8.x.x.
Initialize desc_idx before using can fix build error.

Fixes: e3851816e63c ("net/virtio: support in-order Rx and Tx")

Reported-by: Ferruh Yigit <ferruh.yigit at intel.com>
Signed-off-by: Marvin Liu <yong.liu at intel.com>

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 6394071b8..19beb4bf4 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -192,7 +192,8 @@ virtio_xmit_cleanup(struct virtqueue *vq, uint16_t num)
 static void
 virtio_xmit_cleanup_inorder(struct virtqueue *vq, uint16_t num)
 {
-	uint16_t i, used_idx, desc_idx, last_idx;
+	uint16_t i, used_idx, last_idx;
+	uint16_t desc_idx = 0;
 	int16_t free_cnt = 0;
 	struct vq_desc_extra *dxp = NULL;
 
-- 
2.17.0



More information about the dev mailing list