[pnfs] [PATCH 1/2] bc_send: always free bc_task and bc_request
Iyer, Rahul
Rahul.Iyer at netapp.com
Thu May 24 16:46:16 EDT 2007
Yep! This is a leak. Agreed.
Regards
Rahul
> -----Original Message-----
> From: Benny Halevy [mailto:bhalevy at panasas.com]
> Sent: Thursday, May 24, 2007 8:58 AM
> To: undisclosed-recipients
> Subject: [pnfs] [PATCH 1/2] bc_send: always free bc_task and
> bc_request
>
> >From 12f53e293e5dfac4a6296a1f551b68a5fcd51776 Mon Sep 17
> 00:00:00 2001
> From: Benny Halevy <bhalevy at panasas.com>
> Date: Thu, 24 May 2007 18:58:17 +0300
> Subject: [PATCH 1/2] bc_send: always free bc_task and bc_request
>
> 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
>
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
>
More information about the pNFS
mailing list