summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorScott Mayhew <smayhew@redhat.com>2017-01-05 16:34:50 -0500
committerJ. Bruce Fields <bfields@redhat.com>2017-01-31 12:31:54 -0500
commitc01410f7f6fd476072c9a71241938c24bed8b6f9 (patch)
tree49121d1af12ff94a09ceb6bb3515fe978d92dfa0 /fs
parent7b19824de685eae9802f679cab7457aad486d185 (diff)
downloadlinux-c01410f7f6fd476072c9a71241938c24bed8b6f9.tar.gz
linux-c01410f7f6fd476072c9a71241938c24bed8b6f9.tar.xz
lockd: initialize sin6_scope_id in lockd_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')
-rw-r--r--fs/lockd/svc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index 1c13dd80744f..7e4ea3b9f472 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -322,6 +322,8 @@ static int lockd_inet6addr_event(struct notifier_block *this,
dprintk("lockd_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(nlmsvc_rqst->rq_server,
(struct sockaddr *)&sin6);
}