Since vzalloc can be failed in memory pressure,
return value should be checked and return ENOMEM.
Signed-off-by: Insu Yun <redacted>
---
drivers/net/xen-netback/xenbus.c | 5 +++++
1 file changed, 5 insertions(+)
@@ -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(structxenvif_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;
From: Ian Campbell <hidden> Date: 2015-10-15 16:44:10
On Thu, 2015-10-15 at 12:26 -0400, Insu Yun wrote:
quoted hunk
Since vzalloc can be failed in memory pressure,
return value should be checked and return ENOMEM.
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(structxenvif_queue));+if(!be->vif->queues){+xenbus_dev_fatal(dev,-ENOMEM,"allocating queues");+return;+}
Please fix the coding style, perhaps using checkpatch.pl or by observing
the surrounding code.
Ian.
@@ -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(structxenvif_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.
@@ -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(structxenvif_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.
Ok. Actually I made a code referring the existing code.
Since vzalloc can be failed in memory pressure,
return value should be checked and return ENOMEM.
Signed-off-by: Insu Yun <redacted>
---
drivers/net/xen-netback/xenbus.c | 5 +++++
1 file changed, 5 insertions(+)
@@ -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(structxenvif_queue));+if(!be->vif->queues){+xenbus_dev_fatal(dev,-ENOMEM,"allocating queues");+return;+}