]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen-netback: correctly check failed allocation
authorInsu Yun <wuninsu@gmail.com>
Thu, 15 Oct 2015 18:02:28 +0000 (18:02 +0000)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 5 Feb 2016 11:43:41 +0000 (03:43 -0800)
Since vzalloc can be failed in memory pressure,
writes -ENOMEM to xenstore to indicate error.

Signed-off-by: Insu Yun <wuninsu@gmail.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 833b8f18adfcca04070a8a42d545a4553379d36f)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit afdd9c09c1689f43598a520ed60813dc6359d6c6)

drivers/net/xen-netback/xenbus.c

index bacf4e2942ec23a2143f9be5986d463f535376a9..37139022eef6552224bb0cf5f6407a4a57cabb65 100644 (file)
@@ -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;