nfsd4: fix deleg leak on callback error
authorJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 31 May 2010 23:06:39 +0000 (19:06 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Thu, 24 Jun 2010 16:24:53 +0000 (12:24 -0400)
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4callback.c

index 874a56a0801c806cc847ca9680838c404c2419d5..a4686326b5aef4b538088dd7973246e9307aa55c 100644 (file)
@@ -761,8 +761,10 @@ static void _nfsd4_cb_recall(struct nfs4_delegation *dp)
                .rpc_cred = callback_cred
        };
 
-       if (clnt == NULL)
+       if (clnt == NULL) {
+               nfs4_put_delegation(dp);
                return; /* Client is shutting down; give up. */
+       }
 
        args->args_op = dp;
        msg.rpc_argp = args;