Re: [PATCH v3] NFS: put net on idr allocation failure
From: Myklebust, Trond
Date: Tue May 22 2012 - 10:37:50 EST
On Tue, 2012-05-22 at 12:03 +0400, Stanislav Kinsbursky wrote:
> Signed-off-by: Stanislav Kinsbursky <skinsbursky@xxxxxxxxxxxxx>
> ---
> fs/nfs/client.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index 44cd70f..ae29d4f 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -176,8 +176,10 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
>
> #ifdef CONFIG_NFS_V4
> err = nfs_get_cb_ident_idr(clp, cl_init->minorversion);
> - if (err)
> + if (err) {
> + put_net(clp->net);
> goto error_cleanup;
> + }
>
> spin_lock_init(&clp->cl_lock);
> INIT_DELAYED_WORK(&clp->cl_renewd, nfs4_renew_state);
>
Let's just move the actual get_net() call to the end of the function.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com
N§²æìr¸yúèØb²X¬¶ÇvØ^)Þ{.nÇ+·¥{±êçzX§¶¡Ü}©²ÆzÚ&j:+v¨¾«êçzZ+Ê+zf£¢·h§~Ûiÿûàz¹®w¥¢¸?¨èÚ&¢)ßfù^jÇy§m
á@A«a¶Úÿ0¶ìh®åi