Re: [PATCH] SUNRPC: svc_register error overwritten in nextiteration

From: J. Bruce Fields
Date: Mon Mar 14 2011 - 18:36:55 EST


On Sat, Mar 12, 2011 at 02:27:35PM +0100, roel wrote:
> The break is in the inner loop, the svc_register() error is overwritten
> in the next iteration. Only the error in the last iteration is returned.
>
> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> ---
> net/sunrpc/svc.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> Is this needed?
>
> diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
> index 08e05a8..5fd08c0 100644
> --- a/net/sunrpc/svc.c
> +++ b/net/sunrpc/svc.c
> @@ -889,6 +889,8 @@ int svc_register(const struct svc_serv *serv, const int family,
> if (error < 0)
> break;

May as well just "goto out" or "return error" here?

But: aren't we missing some cleanup? If we succesfully register one
program then fail at a second one, don't we need to unregister the
first?

--b.

> }
> + if (error < 0)
> + break;
> }
>
> return error;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/