netfilter: nf_ct_ipv6: use ipv6_iface_scope_id in conntrack to return scope id
As in (842df07
ipv6: use newly introduced __ipv6_addr_needs_scope_id and
ipv6_iface_scope_id).
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
5eb358d029
commit
d00bd3d4fb
|
@ -330,12 +330,8 @@ ipv6_getorigdst(struct sock *sk, int optval, void __user *user, int *len)
|
||||||
sizeof(sin6.sin6_addr));
|
sizeof(sin6.sin6_addr));
|
||||||
|
|
||||||
nf_ct_put(ct);
|
nf_ct_put(ct);
|
||||||
|
sin6.sin6_scope_id = ipv6_iface_scope_id(&sin6.sin6_addr,
|
||||||
if (ipv6_addr_type(&sin6.sin6_addr) & IPV6_ADDR_LINKLOCAL)
|
sk->sk_bound_dev_if);
|
||||||
sin6.sin6_scope_id = sk->sk_bound_dev_if;
|
|
||||||
else
|
|
||||||
sin6.sin6_scope_id = 0;
|
|
||||||
|
|
||||||
return copy_to_user(user, &sin6, sizeof(sin6)) ? -EFAULT : 0;
|
return copy_to_user(user, &sin6, sizeof(sin6)) ? -EFAULT : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue