Loading net/sunrpc/rpcb_clnt.c +12 −8 Original line number Diff line number Diff line Loading @@ -148,12 +148,13 @@ static void rpcb_wake_rpcbind_waiters(struct rpc_xprt *xprt, int status) } static struct rpc_clnt *rpcb_create(char *hostname, struct sockaddr *srvaddr, int proto, int version, int privileged) size_t salen, int proto, int version, int privileged) { struct rpc_create_args args = { .protocol = proto, .address = srvaddr, .addrsize = sizeof(struct sockaddr_in), .addrsize = salen, .servername = hostname, .program = &rpcb_program, .version = version, Loading Loading @@ -216,7 +217,7 @@ int rpcb_register(u32 prog, u32 vers, int prot, unsigned short port, int *okay) prog, vers, prot, port); rpcb_clnt = rpcb_create("localhost", (struct sockaddr *) &sin, XPRT_TRANSPORT_UDP, 2, 1); sizeof(sin), XPRT_TRANSPORT_UDP, 2, 1); if (IS_ERR(rpcb_clnt)) return PTR_ERR(rpcb_clnt); Loading Loading @@ -265,7 +266,8 @@ int rpcb_getport_sync(struct sockaddr_in *sin, __u32 prog, __FUNCTION__, NIPQUAD(sin->sin_addr.s_addr), prog, vers, prot); sprintf(hostname, NIPQUAD_FMT, NIPQUAD(sin->sin_addr.s_addr)); rpcb_clnt = rpcb_create(hostname, (struct sockaddr *)sin, prot, 2, 0); rpcb_clnt = rpcb_create(hostname, (struct sockaddr *)sin, sizeof(sin), prot, 2, 0); if (IS_ERR(rpcb_clnt)) return PTR_ERR(rpcb_clnt); Loading Loading @@ -314,7 +316,9 @@ void rpcb_getport_async(struct rpc_task *task) struct rpc_clnt *rpcb_clnt; static struct rpcbind_args *map; struct rpc_task *child; struct sockaddr addr; struct sockaddr_storage addr; struct sockaddr *sap = (struct sockaddr *)&addr; size_t salen; int status; struct rpcb_info *info; Loading Loading @@ -344,10 +348,10 @@ void rpcb_getport_async(struct rpc_task *task) goto bailout_nofree; } rpc_peeraddr(clnt, (void *)&addr, sizeof(addr)); salen = rpc_peeraddr(clnt, sap, sizeof(addr)); /* Don't ever use rpcbind v2 for AF_INET6 requests */ switch (addr.sa_family) { switch (sap->sa_family) { case AF_INET: info = rpcb_next_version; break; Loading @@ -372,7 +376,7 @@ void rpcb_getport_async(struct rpc_task *task) dprintk("RPC: %5u %s: trying rpcbind version %u\n", task->tk_pid, __FUNCTION__, bind_version); rpcb_clnt = rpcb_create(clnt->cl_server, &addr, xprt->prot, rpcb_clnt = rpcb_create(clnt->cl_server, sap, salen, xprt->prot, bind_version, 0); if (IS_ERR(rpcb_clnt)) { status = PTR_ERR(rpcb_clnt); Loading Loading
net/sunrpc/rpcb_clnt.c +12 −8 Original line number Diff line number Diff line Loading @@ -148,12 +148,13 @@ static void rpcb_wake_rpcbind_waiters(struct rpc_xprt *xprt, int status) } static struct rpc_clnt *rpcb_create(char *hostname, struct sockaddr *srvaddr, int proto, int version, int privileged) size_t salen, int proto, int version, int privileged) { struct rpc_create_args args = { .protocol = proto, .address = srvaddr, .addrsize = sizeof(struct sockaddr_in), .addrsize = salen, .servername = hostname, .program = &rpcb_program, .version = version, Loading Loading @@ -216,7 +217,7 @@ int rpcb_register(u32 prog, u32 vers, int prot, unsigned short port, int *okay) prog, vers, prot, port); rpcb_clnt = rpcb_create("localhost", (struct sockaddr *) &sin, XPRT_TRANSPORT_UDP, 2, 1); sizeof(sin), XPRT_TRANSPORT_UDP, 2, 1); if (IS_ERR(rpcb_clnt)) return PTR_ERR(rpcb_clnt); Loading Loading @@ -265,7 +266,8 @@ int rpcb_getport_sync(struct sockaddr_in *sin, __u32 prog, __FUNCTION__, NIPQUAD(sin->sin_addr.s_addr), prog, vers, prot); sprintf(hostname, NIPQUAD_FMT, NIPQUAD(sin->sin_addr.s_addr)); rpcb_clnt = rpcb_create(hostname, (struct sockaddr *)sin, prot, 2, 0); rpcb_clnt = rpcb_create(hostname, (struct sockaddr *)sin, sizeof(sin), prot, 2, 0); if (IS_ERR(rpcb_clnt)) return PTR_ERR(rpcb_clnt); Loading Loading @@ -314,7 +316,9 @@ void rpcb_getport_async(struct rpc_task *task) struct rpc_clnt *rpcb_clnt; static struct rpcbind_args *map; struct rpc_task *child; struct sockaddr addr; struct sockaddr_storage addr; struct sockaddr *sap = (struct sockaddr *)&addr; size_t salen; int status; struct rpcb_info *info; Loading Loading @@ -344,10 +348,10 @@ void rpcb_getport_async(struct rpc_task *task) goto bailout_nofree; } rpc_peeraddr(clnt, (void *)&addr, sizeof(addr)); salen = rpc_peeraddr(clnt, sap, sizeof(addr)); /* Don't ever use rpcbind v2 for AF_INET6 requests */ switch (addr.sa_family) { switch (sap->sa_family) { case AF_INET: info = rpcb_next_version; break; Loading @@ -372,7 +376,7 @@ void rpcb_getport_async(struct rpc_task *task) dprintk("RPC: %5u %s: trying rpcbind version %u\n", task->tk_pid, __FUNCTION__, bind_version); rpcb_clnt = rpcb_create(clnt->cl_server, &addr, xprt->prot, rpcb_clnt = rpcb_create(clnt->cl_server, sap, salen, xprt->prot, bind_version, 0); if (IS_ERR(rpcb_clnt)) { status = PTR_ERR(rpcb_clnt); Loading