summaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2012-01-13 11:02:40 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-02-01 01:28:13 +0100
commitb030fb0bb113316cc6f56779388b8572ab0699da (patch)
tree5e6e05faddc8d6637f1c2280c2da5e8d2b2f4a9c /net/sunrpc
parentSUNRPC: parametrize rpc_uaddr2sockaddr() by network context (diff)
downloadlinux-b030fb0bb113316cc6f56779388b8572ab0699da.tar.xz
linux-b030fb0bb113316cc6f56779388b8572ab0699da.zip
SUNRPC: use proper network namespace in rpcbind RPCBPROC_GETADDR procedure
Pass request socket network namespace to rpc_uaddr2sockaddr() instead of hardcoded "init_net", when decoding address in RPCBPROC_GETADDR procedure. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/rpcb_clnt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c
index 7c6fac004447..4ce3a8e02953 100644
--- a/net/sunrpc/rpcb_clnt.c
+++ b/net/sunrpc/rpcb_clnt.c
@@ -934,7 +934,8 @@ static int rpcb_dec_getaddr(struct rpc_rqst *req, struct xdr_stream *xdr,
dprintk("RPC: %5u RPCB_%s reply: %s\n", task->tk_pid,
task->tk_msg.rpc_proc->p_name, (char *)p);
- if (rpc_uaddr2sockaddr(&init_net, (char *)p, len, sap, sizeof(address)) == 0)
+ if (rpc_uaddr2sockaddr(req->rq_xprt->xprt_net, (char *)p, len,
+ sap, sizeof(address)) == 0)
goto out_fail;
rpcb->r_port = rpc_get_port(sap);