| From 88de6af24f2b48b06c514d3c3d0a8f22fafe30bd Mon Sep 17 00:00:00 2001 |
| From: Trond Myklebust <trond.myklebust@primarydata.com> |
| Date: Mon, 1 Jun 2015 15:10:25 -0400 |
| Subject: SUNRPC: Fix a memory leak in the backchannel code |
| |
| From: Trond Myklebust <trond.myklebust@primarydata.com> |
| |
| commit 88de6af24f2b48b06c514d3c3d0a8f22fafe30bd upstream. |
| |
| req->rq_private_buf isn't initialised when xprt_setup_backchannel calls |
| xprt_free_allocation. |
| |
| Fixes: fb7a0b9addbdb ("nfs41: New backchannel helper routines") |
| Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| net/sunrpc/backchannel_rqst.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/sunrpc/backchannel_rqst.c |
| +++ b/net/sunrpc/backchannel_rqst.c |
| @@ -60,7 +60,7 @@ static void xprt_free_allocation(struct |
| |
| dprintk("RPC: free allocations for req= %p\n", req); |
| WARN_ON_ONCE(test_bit(RPC_BC_PA_IN_USE, &req->rq_bc_pa_state)); |
| - xbufp = &req->rq_private_buf; |
| + xbufp = &req->rq_rcv_buf; |
| free_page((unsigned long)xbufp->head[0].iov_base); |
| xbufp = &req->rq_snd_buf; |
| free_page((unsigned long)xbufp->head[0].iov_base); |