diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 2383caf88b67..a54dbfe664cd 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -863,8 +863,12 @@ static int vhost_new_umem_range(struct vhost_umem *umem, u64 start, u64 size, u64 end, u64 userspace_addr, int perm) { - struct vhost_umem_node *tmp, *node = kmalloc(sizeof(*node), GFP_ATOMIC); + struct vhost_umem_node *tmp, *node; + if (!size) + return -EFAULT; + + node = kmalloc(sizeof(*node), GFP_ATOMIC); if (!node) return -ENOMEM;