From d8e478762919b5d40529d72edd3ff8a85fbe9800 Mon Sep 17 00:00:00 2001 From: Wojciech Dec Date: Tue, 17 Jan 2017 21:45:11 +0100 Subject: Fix crash on deleting activated vhost-user - VPP-603 Vhost-user pool getting freed prematurely Change-Id: I952821ec85efa68923d09a643c70b6b309ea2574 Signed-off-by: Wojciech Dec --- src/vnet/devices/virtio/vhost-user.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/vnet/devices') diff --git a/src/vnet/devices/virtio/vhost-user.c b/src/vnet/devices/virtio/vhost-user.c index ee41ee18..9a7c1dc0 100644 --- a/src/vnet/devices/virtio/vhost-user.c +++ b/src/vnet/devices/virtio/vhost-user.c @@ -2429,9 +2429,6 @@ vhost_user_delete_if (vnet_main_t * vnm, vlib_main_t * vm, u32 sw_if_index) // Disable and reset interface vhost_user_term_if (vui); - // Back to pool - pool_put (vum->vhost_user_interfaces, vui); - // Reset renumbered iface if (hwif->dev_instance < vec_len (vum->show_dev_instance_by_real_dev_instance)) @@ -2439,6 +2436,10 @@ vhost_user_delete_if (vnet_main_t * vnm, vlib_main_t * vm, u32 sw_if_index) // Delete ethernet interface ethernet_delete_interface (vnm, vui->hw_if_index); + + // Back to pool + pool_put (vum->vhost_user_interfaces, vui); + return rv; } -- cgit 1.2.3-korg