[dpdk-dev] net/virtio-user: fix crash when detaching device
Checks
Commit Message
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")
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
---
drivers/net/virtio/virtio_user_ethdev.c | 1 -
1 file changed, 1 deletion(-)
Comments
On Fri, Jun 23, 2017 at 08:41:37AM -0400, Allain Legacy wrote:
> 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")
Note that it's prefered (and asked) to add stable tag inside the commit log.
Cc: stable@dpdk.org
Applied to dpdk-next-virtio, with above tag added.
Thanks.
--yliu
@@ -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;