diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-06-01 15:10:25 -0400 |
---|---|---|
committer | Zefan Li <lizefan@huawei.com> | 2015-10-22 09:20:03 +0800 |
commit | a8bed8ce6e7b8ec795f3bea3edcb8211d5b96357 (patch) | |
tree | 58b24f188937db561f2a879ef58c30eeb5e7e54d | |
parent | 3c868f46dd3a85f700b5c3558854ade350d716a6 (diff) |
SUNRPC: Fix a memory leak in the backchannel code
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>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
-rw-r--r-- | net/sunrpc/backchannel_rqst.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/backchannel_rqst.c b/net/sunrpc/backchannel_rqst.c index 31def68a0f6e..617b955f4931 100644 --- a/net/sunrpc/backchannel_rqst.c +++ b/net/sunrpc/backchannel_rqst.c @@ -60,7 +60,7 @@ static void xprt_free_allocation(struct rpc_rqst *req) dprintk("RPC: free allocations for req= %p\n", req); BUG_ON(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); |