diff options
author | Scott Mayhew <smayhew@redhat.com> | 2017-01-06 00:34:49 +0300 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2017-01-31 20:31:53 +0300 |
commit | 7b19824de685eae9802f679cab7457aad486d185 (patch) | |
tree | 4ddd1ca8e180c6f0055366a05c833f97b4c48fb0 /fs/nfsd | |
parent | 865d50b23e4d29c4958e6082c2ed8631472c613f (diff) | |
download | linux-7b19824de685eae9802f679cab7457aad486d185.tar.xz |
nfsd: initialize sin6_scope_id in nfsd_inet6addr_event()
I noticed this was missing when I was testing with link local addresses.
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfssvc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index e6bfd96734c0..2e378d0479ad 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c @@ -354,6 +354,8 @@ static int nfsd_inet6addr_event(struct notifier_block *this, dprintk("nfsd_inet6addr_event: removed %pI6\n", &ifa->addr); sin6.sin6_family = AF_INET6; sin6.sin6_addr = ifa->addr; + if (ipv6_addr_type(&sin6.sin6_addr) & IPV6_ADDR_LINKLOCAL) + sin6.sin6_scope_id = ifa->idev->dev->ifindex; svc_age_temp_xprts_now(nn->nfsd_serv, (struct sockaddr *)&sin6); } |