Trying to access xstats_names after "if (stats_names == NULL)" is
obviously wrong, which would result to a crash while running "show
port xstats 0" in testpmd with virtio PMD.

The fix is also straightforward: just revese the check.

Fixes: baf91c395b18 ("net/virtio: fetch extended statistics with integer ids")

Cc: Remy Horton <remy.horton at intel.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
---
 drivers/net/virtio/virtio_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c 
b/drivers/net/virtio/virtio_ethdev.c
index 19d5d8a..12fa640 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -776,7 +776,7 @@ static int virtio_dev_xstats_get_names(struct rte_eth_dev 
*dev,
        unsigned nstats = dev->data->nb_tx_queues * VIRTIO_NB_TXQ_XSTATS +
                dev->data->nb_rx_queues * VIRTIO_NB_RXQ_XSTATS;

-       if (xstats_names == NULL) {
+       if (xstats_names != NULL) {
                /* Note: limit checked in rte_eth_xstats_names() */

                for (i = 0; i < dev->data->nb_rx_queues; i++) {
-- 
1.9.0

Reply via email to