From: Insu Yun Date: Thu, 15 Oct 2015 18:02:28 +0000 (+0000) Subject: xen-netback: correctly check failed allocation X-Git-Tag: v4.1.12-92~199^2^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3c8ac452f90c0a2a50626366d4f9c8d9c295d5c8;p=users%2Fjedix%2Flinux-maple.git 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) --- 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;