diff options
author | Chuck Lever <chuck.lever@ORACLE.COM> | 2008-10-23 06:50:35 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-10-30 22:19:30 +0100 |
commit | d7dc61d0a70371b1c6557ea8ffbc60fff94c8168 (patch) | |
tree | 78cc625fbdc4a0ff643ccebe6938ff1036eab00b /fs/lockd/svc4proc.c | |
parent | nfsd: fix failure to set eof in readdir in some situations (diff) | |
download | linux-d7dc61d0a70371b1c6557ea8ffbc60fff94c8168.tar.xz linux-d7dc61d0a70371b1c6557ea8ffbc60fff94c8168.zip |
NLM: Set address family before calling nlm_host_rebooted()
The nlm_host_rebooted() function uses nlm_cmp_addr() to find an
nsm_handle that matches the rebooted peer. In order for this to work,
the passed-in address must have a proper address family.
This fixes a post-2.6.28 regression introduced by commit 781b61a6, which
added AF_INET6 support to nlm_cmp_addr(). Before that commit,
nlm_cmp_addr() didn't care about the address family; it compared only
the sin_addr.s_addr field for equality.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/lockd/svc4proc.c')
-rw-r--r-- | fs/lockd/svc4proc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c index 014f6ce48172..4dfdcbc6bf68 100644 --- a/fs/lockd/svc4proc.c +++ b/fs/lockd/svc4proc.c @@ -434,6 +434,7 @@ nlm4svc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp, * reclaim all locks we hold on this server. */ memset(&saddr, 0, sizeof(saddr)); + saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = argp->addr; nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); |