lockd: Specify address family for source address
authorChuck Lever <chuck.lever@oracle.com>
Wed, 27 Aug 2008 20:57:31 +0000 (16:57 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 29 Sep 2008 22:13:38 +0000 (18:13 -0400)
Make sure an address family is specified for source addresses passed to
nlm_lookup_host().  nlm_lookup_host() will need this when it becomes
capable of dealing with AF_INET6 addresses.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/lockd/host.c

index e5dcfa57e099f92e41209aad2c6b3b7c8e3d00a9..22423abea281ce335fbfc057c2ef43701708e217 100644 (file)
@@ -220,10 +220,12 @@ struct nlm_host *nlmclnt_lookup_host(const struct sockaddr_in *sin,
                                     const char *hostname,
                                     unsigned int hostname_len)
 {
-       struct sockaddr_in ssin = {0};
+       const struct sockaddr_in source = {
+               .sin_family     = AF_UNSPEC,
+       };
 
        return nlm_lookup_host(0, sin, proto, version,
-                              hostname, hostname_len, &ssin);
+                              hostname, hostname_len, &source);
 }
 
 /*
@@ -233,12 +235,14 @@ struct nlm_host *
 nlmsvc_lookup_host(struct svc_rqst *rqstp,
                        const char *hostname, unsigned int hostname_len)
 {
-       struct sockaddr_in ssin = {0};
+       const struct sockaddr_in source = {
+               .sin_family     = AF_INET,
+               .sin_addr       = rqstp->rq_daddr.addr,
+       };
 
-       ssin.sin_addr = rqstp->rq_daddr.addr;
        return nlm_lookup_host(1, svc_addr_in(rqstp),
                               rqstp->rq_prot, rqstp->rq_vers,
-                              hostname, hostname_len, &ssin);
+                              hostname, hostname_len, &source);
 }
 
 /*