diff options
author | Bryan Schumaker <bjschuma@netapp.com> | 2012-03-27 13:46:32 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-03-27 16:33:35 -0400 |
commit | 864cf9bf99f62d2095c8e6cc3a87af80b263984e (patch) | |
tree | 212665144bc8140dc177c41954d0eb691b602d83 /net | |
parent | d44fc387997c0750125cfb0c2c803a3171b649f4 (diff) |
SUNRPC: Use the already looked-up xprt in rpcb_getport_async()
rbcb_getport_async() was looking up the rpc_xprt (reference++) and then
later looking it up again (reference++) to pass through the
rpcbind_args. The xprt would only be dereferenced once, when we were
done with the rpcbind_args (reference--). This leaves an extra
reference to the transport that would never go away.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/rpcb_clnt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c index 207a74696c9f..78ac39fd9fe7 100644 --- a/net/sunrpc/rpcb_clnt.c +++ b/net/sunrpc/rpcb_clnt.c | |||
@@ -734,7 +734,7 @@ void rpcb_getport_async(struct rpc_task *task) | |||
734 | map->r_vers = clnt->cl_vers; | 734 | map->r_vers = clnt->cl_vers; |
735 | map->r_prot = xprt->prot; | 735 | map->r_prot = xprt->prot; |
736 | map->r_port = 0; | 736 | map->r_port = 0; |
737 | map->r_xprt = xprt_get(xprt); | 737 | map->r_xprt = xprt; |
738 | map->r_status = -EIO; | 738 | map->r_status = -EIO; |
739 | 739 | ||
740 | switch (bind_version) { | 740 | switch (bind_version) { |