From 3c8ac452f90c0a2a50626366d4f9c8d9c295d5c8 Mon Sep 17 00:00:00 2001 From: Insu Yun Date: Thu, 15 Oct 2015 18:02:28 +0000 Subject: [PATCH] xen-netback: correctly check failed allocation Since vzalloc can be failed in memory pressure, writes -ENOMEM to xenstore to indicate error. Signed-off-by: Insu Yun Acked-by: Wei Liu Signed-off-by: David S. Miller (cherry picked from commit 833b8f18adfcca04070a8a42d545a4553379d36f) Signed-off-by: Konrad Rzeszutek Wilk (cherry picked from commit afdd9c09c1689f43598a520ed60813dc6359d6c6) --- drivers/net/xen-netback/xenbus.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c index bacf4e2942ec2..37139022eef65 100644 --- a/drivers/net/xen-netback/xenbus.c +++ b/drivers/net/xen-netback/xenbus.c @@ -784,6 +784,12 @@ static void connect(struct backend_info *be) /* Use the number of queues requested by the frontend */ be->vif->queues = vzalloc(requested_num_queues * sizeof(struct xenvif_queue)); + if (!be->vif->queues) { + xenbus_dev_fatal(dev, -ENOMEM, + "allocating queues"); + return; + } + be->vif->num_queues = requested_num_queues; be->vif->stalled_queues = requested_num_queues; -- 2.49.0