diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-05-31 15:26:38 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-05-31 15:32:16 -0400 |
commit | b3b02ae5865c2dcd506322e0fc6def59a042e72f (patch) | |
tree | c66f7f7e5da748f9deb248666a595433ce93fea4 /net/sunrpc/svc.c | |
parent | 2d117403b30cd7301af60d7d54b279a9f566d10d (diff) |
NFSv4.1: Fix a request leak on the back channel
If the call to svc_process_common() fails, then the request
needs to be freed before we can exit bc_svc_process.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'net/sunrpc/svc.c')
-rw-r--r-- | net/sunrpc/svc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 017c0117d154..074df5a564db 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
@@ -1377,7 +1377,8 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req, | |||
1377 | sizeof(req->rq_snd_buf)); | 1377 | sizeof(req->rq_snd_buf)); |
1378 | return bc_send(req); | 1378 | return bc_send(req); |
1379 | } else { | 1379 | } else { |
1380 | /* Nothing to do to drop request */ | 1380 | /* drop request */ |
1381 | xprt_free_bc_request(req); | ||
1381 | return 0; | 1382 | return 0; |
1382 | } | 1383 | } |
1383 | } | 1384 | } |