vhost: fix guest pages memory leak
authorDariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Fri, 26 May 2017 11:59:14 +0000 (13:59 +0200)
committerYuanhan Liu <yliu@fridaylinux.org>
Fri, 16 Jun 2017 12:04:25 +0000 (14:04 +0200)
This patch fixes a memory leak.
virtio_net::guest_pages is allocated in vhost_setup_mem_table(),
reallocated in add_one_guest_page(), but never freed.

Fixes: e246896178e6 ("vhost: get guest/host physical address mappings")
Cc: stable@dpdk.org
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Jens Freimann <jfreiman@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
lib/librte_vhost/vhost_user.c

index 437e41f..92db73a 100644 (file)
@@ -114,6 +114,10 @@ vhost_backend_cleanup(struct virtio_net *dev)
                rte_free(dev->mem);
                dev->mem = NULL;
        }
+
+       free(dev->guest_pages);
+       dev->guest_pages = NULL;
+
        if (dev->log_addr) {
                munmap((void *)(uintptr_t)dev->log_addr, dev->log_size);
                dev->log_addr = 0;