From: David Harton Date: Sat, 3 Feb 2018 14:55:23 +0000 (-0500) Subject: net/virtio: fix crash while freeing mbufs X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=b87c06483ae805846bfb3ec2594c62ac80f0a8e1;p=dpdk.git net/virtio: fix crash while freeing mbufs virtio_dev_free_mbufs was recently modified to free the virtqueues but failed to check whether the array was allocated. Added a check to ensure vqs was non-null. Fixes: bdb32afbb610 ("net/virtio: rationalize queue flushing") Signed-off-by: David Harton Reviewed-by: Olivier Matz Reviewed-by: Maxime Coquelin --- diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 2082d6adb0..884f74ad04 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1975,6 +1975,9 @@ static void virtio_dev_free_mbufs(struct rte_eth_dev *dev) struct rte_mbuf *buf; int queue_type; + if (hw->vqs == NULL) + return; + for (i = 0; i < nr_vq; i++) { vq = hw->vqs[i]; if (!vq)