aboutsummaryrefslogtreecommitdiffstats
path: root/vnet
diff options
context:
space:
mode:
authorSteve Shin <jonshin@cisco.com>2016-08-18 17:34:52 -0700
committerDamjan Marion <dmarion.lists@gmail.com>2016-08-19 13:57:10 +0000
commit5e15c91b6c2b5fbd7f989c5dc4edde506d254926 (patch)
treece1eea2b4d28951ae4da8f9f8024358bfde616e6 /vnet
parent82a7af95e7553747dcebdb865a9c9a67826745d4 (diff)
vhost-user: unmap previously configured memory if necessary
If there's any memory-mapped region configued previously, it should be unmapped before setting up a new vhost memory table. Otherwise, huge page leakage will happen. Change-Id: I375f603ea303919f1502df44a26a7384ab2ea00e Signed-off-by: Steve Shin <jonshin@cisco.com>
Diffstat (limited to 'vnet')
-rw-r--r--vnet/vnet/devices/dpdk/vhost_user.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/vnet/vnet/devices/dpdk/vhost_user.c b/vnet/vnet/devices/dpdk/vhost_user.c
index c153e2ed..11a81c2d 100644
--- a/vnet/vnet/devices/dpdk/vhost_user.c
+++ b/vnet/vnet/devices/dpdk/vhost_user.c
@@ -1130,6 +1130,9 @@ dpdk_vhost_user_socket_read (unix_file_t * uf)
goto close_socket;
}
+ /* Unmap previously configured memory if necessary */
+ dpdk_unmap_all_mem_regions (xd);
+
dpdk_vhost_user_set_mem_table (xd->vlib_hw_if_index, &msg.memory, fds);
break;