aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sunrpc/rpcb_clnt.c23
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
127static 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
133static struct rpc_clnt *rpcb_create_local(struct sockaddr *addr, 127static 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
179static int rpcb_register_call(struct sockaddr *addr, size_t addrlen, 173static 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/**