aboutsummaryrefslogtreecommitdiffstats
path: root/fs/lockd/host.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/lockd/host.c')
-rw-r--r--fs/lockd/host.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c
index 8c7022eeae65..3ce2702d0368 100644
--- a/fs/lockd/host.c
+++ b/fs/lockd/host.c
@@ -129,7 +129,7 @@ static struct nlm_host *nlm_lookup_host(int server,
129 continue; 129 continue;
130 if (host->h_server != server) 130 if (host->h_server != server)
131 continue; 131 continue;
132 if (!nlm_cmp_addr(&host->h_saddr, ssin)) 132 if (!nlm_cmp_addr(nlm_srcaddr_in(host), ssin))
133 continue; 133 continue;
134 134
135 /* Move to head of hash chain. */ 135 /* Move to head of hash chain. */
@@ -168,7 +168,7 @@ static struct nlm_host *nlm_lookup_host(int server,
168 memcpy(nlm_addr(host), sin, sizeof(*sin)); 168 memcpy(nlm_addr(host), sin, sizeof(*sin));
169 host->h_addrlen = sizeof(*sin); 169 host->h_addrlen = sizeof(*sin);
170 nlm_clear_port(nlm_addr(host)); 170 nlm_clear_port(nlm_addr(host));
171 host->h_saddr = *ssin; 171 memcpy(nlm_srcaddr(host), ssin, sizeof(*ssin));
172 host->h_version = version; 172 host->h_version = version;
173 host->h_proto = proto; 173 host->h_proto = proto;
174 host->h_rpcclnt = NULL; 174 host->h_rpcclnt = NULL;
@@ -192,8 +192,8 @@ static struct nlm_host *nlm_lookup_host(int server,
192 192
193 nlm_display_address((struct sockaddr *)&host->h_addr, 193 nlm_display_address((struct sockaddr *)&host->h_addr,
194 host->h_addrbuf, sizeof(host->h_addrbuf)); 194 host->h_addrbuf, sizeof(host->h_addrbuf));
195 nlm_display_address((struct sockaddr *)&host->h_saddr, 195 nlm_display_address((struct sockaddr *)&host->h_srcaddr,
196 host->h_saddrbuf, sizeof(host->h_saddrbuf)); 196 host->h_srcaddrbuf, sizeof(host->h_srcaddrbuf));
197 197
198 dprintk("lockd: nlm_lookup_host created host %s\n", 198 dprintk("lockd: nlm_lookup_host created host %s\n",
199 host->h_name); 199 host->h_name);
@@ -267,7 +267,7 @@ nlm_bind_host(struct nlm_host *host)
267 struct rpc_clnt *clnt; 267 struct rpc_clnt *clnt;
268 268
269 dprintk("lockd: nlm_bind_host %s (%s), my addr=%s\n", 269 dprintk("lockd: nlm_bind_host %s (%s), my addr=%s\n",
270 host->h_name, host->h_addrbuf, host->h_saddrbuf); 270 host->h_name, host->h_addrbuf, host->h_srcaddrbuf);
271 271
272 /* Lock host handle */ 272 /* Lock host handle */
273 mutex_lock(&host->h_mutex); 273 mutex_lock(&host->h_mutex);
@@ -294,7 +294,7 @@ nlm_bind_host(struct nlm_host *host)
294 .protocol = host->h_proto, 294 .protocol = host->h_proto,
295 .address = nlm_addr(host), 295 .address = nlm_addr(host),
296 .addrsize = host->h_addrlen, 296 .addrsize = host->h_addrlen,
297 .saddress = (struct sockaddr *)&host->h_saddr, 297 .saddress = nlm_srcaddr(host),
298 .timeout = &timeparms, 298 .timeout = &timeparms,
299 .servername = host->h_name, 299 .servername = host->h_name,
300 .program = &nlm_program, 300 .program = &nlm_program,