diff options
author | Scott Mayhew <smayhew@redhat.com> | 2017-01-05 16:34:50 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2017-01-31 12:31:54 -0500 |
commit | c01410f7f6fd476072c9a71241938c24bed8b6f9 (patch) | |
tree | 49121d1af12ff94a09ceb6bb3515fe978d92dfa0 /fs | |
parent | 7b19824de685eae9802f679cab7457aad486d185 (diff) |
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.c | 2 |
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); } |