Commit 96165e2b authored by Trond Myklebust's avatar Trond Myklebust

SUNRPC: Fix a memory leak in rpcb_getport_async

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 9a4bd29f
...@@ -580,7 +580,7 @@ void rpcb_getport_async(struct rpc_task *task) ...@@ -580,7 +580,7 @@ void rpcb_getport_async(struct rpc_task *task)
status = -ENOMEM; status = -ENOMEM;
dprintk("RPC: %5u %s: no memory available\n", dprintk("RPC: %5u %s: no memory available\n",
task->tk_pid, __func__); task->tk_pid, __func__);
goto bailout_nofree; goto bailout_release_client;
} }
map->r_prog = clnt->cl_prog; map->r_prog = clnt->cl_prog;
map->r_vers = clnt->cl_vers; map->r_vers = clnt->cl_vers;
...@@ -605,6 +605,8 @@ void rpcb_getport_async(struct rpc_task *task) ...@@ -605,6 +605,8 @@ void rpcb_getport_async(struct rpc_task *task)
rpc_put_task(child); rpc_put_task(child);
return; return;
bailout_release_client:
rpc_release_client(rpcb_clnt);
bailout_nofree: bailout_nofree:
rpcb_wake_rpcbind_waiters(xprt, status); rpcb_wake_rpcbind_waiters(xprt, status);
task->tk_status = status; task->tk_status = status;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment