|
@@ -892,12 +892,12 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
|
|
|
sin6->sin6_port = 0;
|
|
|
sin6->sin6_addr = ip6->saddr;
|
|
|
|
|
|
+ sin6->sin6_flowinfo = 0;
|
|
|
if (np->sndflow)
|
|
|
sin6->sin6_flowinfo = ip6_flowinfo(ip6);
|
|
|
|
|
|
- if (__ipv6_addr_needs_scope_id(
|
|
|
- ipv6_addr_type(&sin6->sin6_addr)))
|
|
|
- sin6->sin6_scope_id = IP6CB(skb)->iif;
|
|
|
+ sin6->sin6_scope_id = ipv6_iface_scope_id(&sin6->sin6_addr,
|
|
|
+ IP6CB(skb)->iif);
|
|
|
|
|
|
if (inet6_sk(sk)->rxopt.all)
|
|
|
pingv6_ops.ip6_datagram_recv_ctl(sk, msg, skb);
|