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,
|
const char *hostname,
|
||||||
unsigned int hostname_len)
|
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,
|
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,
|
nlmsvc_lookup_host(struct svc_rqst *rqstp,
|
||||||
const char *hostname, unsigned int hostname_len)
|
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),
|
return nlm_lookup_host(1, svc_addr_in(rqstp),
|
||||||
rqstp->rq_prot, rqstp->rq_vers,
|
rqstp->rq_prot, rqstp->rq_vers,
|
||||||
hostname, hostname_len, &ssin);
|
hostname, hostname_len, &source);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue