Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1247979 > unrolled thread
| Started by | Insu Yun <wuninsu@gmail.com> |
|---|---|
| First post | 2015-10-15 18:30 +0200 |
| Last post | 2015-10-16 08:20 +0200 |
| Articles | 4 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH] xen-netback: corretly check failed allocation Insu Yun <wuninsu@gmail.com> - 2015-10-15 18:30 +0200
Re: [PATCH] xen-netback: corretly check failed allocation Ian Campbell <ian.campbell@citrix.com> - 2015-10-15 18:50 +0200
Re: [PATCH] xen-netback: corretly check failed allocation Wei Liu <wei.liu2@citrix.com> - 2015-10-15 19:20 +0200
Re: [PATCH] xen-netback: corretly check failed allocation David Miller <davem@davemloft.net> - 2015-10-16 08:20 +0200
| From | Insu Yun <wuninsu@gmail.com> |
|---|---|
| Date | 2015-10-15 18:30 +0200 |
| Subject | [PATCH] xen-netback: corretly check failed allocation |
| Message-ID | <qjTzI-3md-25@gated-at.bofh.it> |
Since vzalloc can be failed in memory pressure,
return value should be checked and return ENOMEM.
Signed-off-by: Insu Yun <wuninsu@gmail.com>
---
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;
+ }
+
be->vif->num_queues = requested_num_queues;
be->vif->stalled_queues = requested_num_queues;
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Ian Campbell <ian.campbell@citrix.com> |
|---|---|
| Date | 2015-10-15 18:50 +0200 |
| Message-ID | <qjTT4-3IL-17@gated-at.bofh.it> |
| In reply to | #1247979 |
On Thu, 2015-10-15 at 12:26 -0400, Insu Yun wrote:
> Since vzalloc can be failed in memory pressure,
> return value should be checked and return ENOMEM.
>
> Signed-off-by: Insu Yun <wuninsu@gmail.com>
> ---
> 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;
> + }
Please fix the coding style, perhaps using checkpatch.pl or by observing
the surrounding code.
Ian.
> +
> be->vif->num_queues = requested_num_queues;
> be->vif->stalled_queues = requested_num_queues;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wei Liu <wei.liu2@citrix.com> |
|---|---|
| Date | 2015-10-15 19:20 +0200 |
| Message-ID | <qjUm6-4xd-5@gated-at.bofh.it> |
| In reply to | #1247979 |
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.
>
> Signed-off-by: Insu Yun <wuninsu@gmail.com>
> ---
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2015-10-16 08:20 +0200 |
| Message-ID | <qk6wW-610-7@gated-at.bofh.it> |
| In reply to | #1247979 |
From: Insu Yun <wuninsu@gmail.com>
Date: Thu, 15 Oct 2015 12:26:16 -0400
> Since vzalloc can be failed in memory pressure,
> return value should be checked and return ENOMEM.
>
> Signed-off-by: Insu Yun <wuninsu@gmail.com>
> ---
> 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;
> + }
This is definitely not indented correctly.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web