[dpdk-dev] vhost: check malloc return value when allocating guest pages
Checks
Commit Message
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 <jfreimann@redhat.com>
---
lib/librte_vhost/vhost_user.c | 7 +++++++
1 file changed, 7 insertions(+)
Comments
On 05/11/2017 05:25 PM, Jens Freimann wrote:
> 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 <jfreimann@redhat.com>
> ---
> lib/librte_vhost/vhost_user.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
> index 5c8058b..437e41f 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -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) +
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks!
Maxime
On Thu, May 18, 2017 at 10:14:26AM +0200, Maxime Coquelin wrote:
>
>
> On 05/11/2017 05:25 PM, Jens Freimann wrote:
> >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 <jfreimann@redhat.com>
> >---
> > lib/librte_vhost/vhost_user.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> >diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
> >index 5c8058b..437e41f 100644
> >--- a/lib/librte_vhost/vhost_user.c
> >+++ b/lib/librte_vhost/vhost_user.c
> >@@ -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) +
> >
>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Applied to dpdk-next-virtio.
Thanks.
--yliu
@@ -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) +