diff options
-rw-r--r-- | net/sunrpc/rpcb_clnt.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c index 2caa7edeeaba..ebce7a5976c9 100644 --- a/net/sunrpc/rpcb_clnt.c +++ b/net/sunrpc/rpcb_clnt.c | |||
@@ -124,12 +124,6 @@ static const struct sockaddr_in rpcb_inaddr_loopback = { | |||
124 | .sin_port = htons(RPCBIND_PORT), | 124 | .sin_port = htons(RPCBIND_PORT), |
125 | }; | 125 | }; |
126 | 126 | ||
127 | static const struct sockaddr_in6 rpcb_in6addr_loopback = { | ||
128 | .sin6_family = AF_INET6, | ||
129 | .sin6_addr = IN6ADDR_LOOPBACK_INIT, | ||
130 | .sin6_port = htons(RPCBIND_PORT), | ||
131 | }; | ||
132 | |||
133 | static struct rpc_clnt *rpcb_create_local(struct sockaddr *addr, | 127 | static struct rpc_clnt *rpcb_create_local(struct sockaddr *addr, |
134 | size_t addrlen, u32 version) | 128 | size_t addrlen, u32 version) |
135 | { | 129 | { |
@@ -176,9 +170,10 @@ static struct rpc_clnt *rpcb_create(char *hostname, struct sockaddr *srvaddr, | |||
176 | return rpc_create(&args); | 170 | return rpc_create(&args); |
177 | } | 171 | } |
178 | 172 | ||
179 | static int rpcb_register_call(struct sockaddr *addr, size_t addrlen, | 173 | static int rpcb_register_call(u32 version, struct rpc_message *msg) |
180 | u32 version, struct rpc_message *msg) | ||
181 | { | 174 | { |
175 | struct sockaddr *addr = (struct sockaddr *)&rpcb_inaddr_loopback; | ||
176 | size_t addrlen = sizeof(rpcb_inaddr_loopback); | ||
182 | struct rpc_clnt *rpcb_clnt; | 177 | struct rpc_clnt *rpcb_clnt; |
183 | int result, error = 0; | 178 | int result, error = 0; |
184 | 179 | ||
@@ -254,9 +249,7 @@ int rpcb_register(u32 prog, u32 vers, int prot, unsigned short port) | |||
254 | if (port) | 249 | if (port) |
255 | msg.rpc_proc = &rpcb_procedures2[RPCBPROC_SET]; | 250 | msg.rpc_proc = &rpcb_procedures2[RPCBPROC_SET]; |
256 | 251 | ||
257 | return rpcb_register_call((struct sockaddr *)&rpcb_inaddr_loopback, | 252 | return rpcb_register_call(RPCBVERS_2, &msg); |
258 | sizeof(rpcb_inaddr_loopback), | ||
259 | RPCBVERS_2, &msg); | ||
260 | } | 253 | } |
261 | 254 | ||
262 | /* | 255 | /* |
@@ -284,9 +277,7 @@ static int rpcb_register_netid4(struct sockaddr_in *address_to_register, | |||
284 | if (port) | 277 | if (port) |
285 | msg->rpc_proc = &rpcb_procedures4[RPCBPROC_SET]; | 278 | msg->rpc_proc = &rpcb_procedures4[RPCBPROC_SET]; |
286 | 279 | ||
287 | return rpcb_register_call((struct sockaddr *)&rpcb_inaddr_loopback, | 280 | return rpcb_register_call(RPCBVERS_4, msg); |
288 | sizeof(rpcb_inaddr_loopback), | ||
289 | RPCBVERS_4, msg); | ||
290 | } | 281 | } |
291 | 282 | ||
292 | /* | 283 | /* |
@@ -318,9 +309,7 @@ static int rpcb_register_netid6(struct sockaddr_in6 *address_to_register, | |||
318 | if (port) | 309 | if (port) |
319 | msg->rpc_proc = &rpcb_procedures4[RPCBPROC_SET]; | 310 | msg->rpc_proc = &rpcb_procedures4[RPCBPROC_SET]; |
320 | 311 | ||
321 | return rpcb_register_call((struct sockaddr *)&rpcb_in6addr_loopback, | 312 | return rpcb_register_call(RPCBVERS_4, msg); |
322 | sizeof(rpcb_in6addr_loopback), | ||
323 | RPCBVERS_4, msg); | ||
324 | } | 313 | } |
325 | 314 | ||
326 | /** | 315 | /** |