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) | |
download | linux-864cf9bf99f62d2095c8e6cc3a87af80b263984e.tar.gz linux-864cf9bf99f62d2095c8e6cc3a87af80b263984e.tar.bz2 linux-864cf9bf99f62d2095c8e6cc3a87af80b263984e.zip |
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) map->r_vers = clnt->cl_vers; map->r_prot = xprt->prot; map->r_port = 0; - map->r_xprt = xprt_get(xprt); + map->r_xprt = xprt; map->r_status = -EIO; switch (bind_version) { |