mirror of https://gitee.com/openkylin/linux.git
lockd: Specify address family for source address
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>
This commit is contained in:
parent
1b333c54a1
commit
2860a0227b
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue