Commit 216901db authored by Tomasz Zawadzki's avatar Tomasz Zawadzki Committed by Daniel Verkamp
Browse files

vhost: close remaining memory region FDs during backend cleanup



After changes done in commit f325e71c, closing old FD is delayed until
VHOST_USER_SET_VRING_ADDR. If VM is closed before this call, original FDs
remain during vhost_backend_cleanup. This resolves issue #162.

This patch closes second set of FDs during vhost backend cleanup.

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ieb9d123c987009ac451b6214bb74d2720d852781
Reviewed-on: https://review.gerrithub.io/361787


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarPiotr Pelpliński <piotr.pelplinski@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarPawel Wodkowski <pawelx.wodkowski@intel.com>
parent 66349fbf
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -109,7 +109,15 @@ free_mem_region(struct virtio_net *dev)
void
vhost_backend_cleanup(struct virtio_net *dev)
{
	uint32_t i;

	if (dev->mem) {
		if (dev->has_new_mem_table) {
			for (i = 0; i < dev->mem->nregions; i++) {
				close(dev->mem_table_fds[i]);
			}
			dev->has_new_mem_table = 0;
		}
		free_mem_region(dev);
		rte_free(dev->mem);
		dev->mem = NULL;