Răsfoiți Sursa

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>
Bryan Schumaker 13 ani în urmă
părinte
comite
864cf9bf99
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      net/sunrpc/rpcb_clnt.c

+ 1 - 1
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) {