From fdc17b1ae7743bc37d4e08467d0295d6f277ec12 Mon Sep 17 00:00:00 2001 From: Steven Luong Date: Fri, 6 May 2022 13:34:10 -0700 Subject: vhost: memory leak upon deleting vhost-user interface We allocate vring_spinlock for all vrings in the vui, not just the ones being used. So when we free the vui, we have to free vring_spinlock for all vrings, not just the one being used. Type: fix Signed-off-by: Steven Luong Change-Id: I3951fda71ce6e11474b04302116ea9e08b404758 --- src/vnet/devices/virtio/vhost_user.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/vnet/devices/virtio/vhost_user.c') diff --git a/src/vnet/devices/virtio/vhost_user.c b/src/vnet/devices/virtio/vhost_user.c index 9c585722b48..b6e0806db90 100644 --- a/src/vnet/devices/virtio/vhost_user.c +++ b/src/vnet/devices/virtio/vhost_user.c @@ -1414,10 +1414,8 @@ vhost_user_term_if (vhost_user_intf_t * vui) vhost_user_update_gso_interface_count (vui, 0 /* delete */ ); vhost_user_update_iface_state (vui); - FOR_ALL_VHOST_RX_TXQ (q, vui) - { + for (q = 0; q < vec_len (vui->vrings); q++) clib_spinlock_free (&vui->vrings[q].vring_lock); - } if (vui->unix_server_index != ~0) { -- cgit 1.2.3-korg