The event buffer was changed to be a fixed size value, but calls to rte_free were left. That causes bugs because it calls to rte_free() for a pointer that was not setup with rte_malloc().
Fixes: 530af95a7849 ("bus/vmbus: avoid signalling host on read") Signed-off-by: Stephen Hemminger <sthem...@microsoft.com> --- drivers/net/netvsc/hn_rxtx.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c index 02ef27e363cc..3e52a328b152 100644 --- a/drivers/net/netvsc/hn_rxtx.c +++ b/drivers/net/netvsc/hn_rxtx.c @@ -776,7 +776,6 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev, fail: rte_ring_free(rxq->rx_ring); - rte_free(rxq->event_buf); rte_free(rxq); return -ENOMEM; } @@ -795,10 +794,8 @@ hn_dev_rx_queue_release(void *arg) rxq->rx_ring = NULL; rxq->mb_pool = NULL; - if (rxq != rxq->hv->primary) { - rte_free(rxq->event_buf); + if (rxq != rxq->hv->primary) rte_free(rxq); - } } void -- 2.18.0