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") Cc: olivier.m...@6wind.com Signed-off-by: David C Harton <dhar...@cisco.com> --- drivers/net/virtio/virtio_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 2082d6a..884f74a 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) -- 2.10.3.dirty