net/virtio-user: fix crash when detaching device
authorAllain Legacy <allain.legacy@windriver.com>
Fri, 23 Jun 2017 12:41:37 +0000 (08:41 -0400)
committerYuanhan Liu <yliu@fridaylinux.org>
Tue, 4 Jul 2017 09:31:01 +0000 (11:31 +0200)
The rte_eth_dev.data pointer is set to a reference to a static table.
Attempting to rte_free() it leads to a panic.  For example, the
following commands result in a panic if run in testpmd

  testpmd> port attach virtio_user0,path=/dev/vhost-net,iface=test0
  testpmd> port stop 2
  testpmd> port close 2
  testpmd> port detach 2

Fixes: ce2eabdd43ec ("net/virtio-user: add virtual device")
Cc: stable@dpdk.org
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
drivers/net/virtio/virtio_user_ethdev.c

index 280406c..e9af946 100644 (file)
@@ -556,7 +556,6 @@ virtio_user_pmd_remove(struct rte_vdev_device *vdev)
        virtio_user_dev_uninit(dev);
 
        rte_free(eth_dev->data->dev_private);
-       rte_free(eth_dev->data);
        rte_eth_dev_release_port(eth_dev);
 
        return 0;