Re: [PATCH] xen-netback: corretly check failed allocation
From: Wei Liu <hidden>
Date: 2015-10-15 17:13:06
Also in:
lkml
On Thu, Oct 15, 2015 at 12:26:16PM -0400, Insu Yun wrote:
Since vzalloc can be failed in memory pressure, return value should be checked and return ENOMEM.
This function doesn't return ENOMEM, instead it writes to xenstore to indicate error. The commit log needs to be updated.
quoted hunk ↗ jump to hunk
Signed-off-by: Insu Yun <redacted> --- drivers/net/xen-netback/xenbus.c | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c index 929a6e7..e288246 100644 --- a/drivers/net/xen-netback/xenbus.c +++ b/drivers/net/xen-netback/xenbus.c@@ -788,6 +788,11 @@ 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; + } +
The indentation is wrong. Please configure your email client properly. And please use "goto err" for error handling -- yes, I understand there is existing code that returns directly but IMHO that should be fixed too. We.
be->vif->num_queues = requested_num_queues; be->vif->stalled_queues = requested_num_queues; -- 1.9.1