vhost: check allocation of guest pages
authorJens Freimann <jfreiman@redhat.com>
Thu, 11 May 2017 15:25:26 +0000 (17:25 +0200)
committerYuanhan Liu <yliu@fridaylinux.org>
Fri, 16 Jun 2017 12:04:25 +0000 (14:04 +0200)
When we try to allocate guest pages we need to check the return value of
malloc(). Print an error message and return when it fails.

Signed-off-by: Jens Freimann <jfreiman@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
lib/librte_vhost/vhost_user.c

index 5c8058b..437e41f 100644 (file)
@@ -515,6 +515,13 @@ vhost_user_set_mem_table(struct virtio_net *dev, struct VhostUserMsg *pmsg)
                dev->max_guest_pages = 8;
                dev->guest_pages = malloc(dev->max_guest_pages *
                                                sizeof(struct guest_page));
+               if (dev->guest_pages == NULL) {
+                       RTE_LOG(ERR, VHOST_CONFIG,
+                               "(%d) failed to allocate memory "
+                               "for dev->guest_pages\n",
+                               dev->vid);
+                       return -1;
+               }
        }
 
        dev->mem = rte_zmalloc("vhost-mem-table", sizeof(struct rte_vhost_memory) +