[PATCH 1/2] bc_send: always free bc_task and bc_request
Benny Halevy
bhalevy at panasas.com
Thu May 24 11:58:17 EDT 2007
There seem to be two leaks in bc_send:
1. xprt_free_bc_request(req) is called only on the success path
2. bc_release_task(bc_task) is called only on the error path
Signed-off-by: Benny Halevy <bhalevy at panasas.com>
---
net/sunrpc/bc_svc.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/net/sunrpc/bc_svc.c b/net/sunrpc/bc_svc.c
index c713f05..fbea284 100644
--- a/net/sunrpc/bc_svc.c
+++ b/net/sunrpc/bc_svc.c
@@ -155,12 +155,10 @@ int bc_send(struct rpc_rqst *req)
err = xprt->ops->send_request(bc_task);
bc_release_xprt(bc_task);
-
- xprt_free_bc_request(req);
- return 0;
out:
bc_task->tk_rqstp = NULL;
bc_release_task(bc_task);
+ xprt_free_bc_request(req);
return err;
}
--
1.5.1
More information about the pNFS
mailing list