|
|
@@ -674,9 +674,6 @@ static int l2tp_ip6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
|
|
|
if (flags & MSG_OOB)
|
|
|
goto out;
|
|
|
|
|
|
- if (addr_len)
|
|
|
- *addr_len = sizeof(*lsa);
|
|
|
-
|
|
|
if (flags & MSG_ERRQUEUE)
|
|
|
return ipv6_recv_error(sk, msg, len, addr_len);
|
|
|
|
|
|
@@ -706,6 +703,7 @@ static int l2tp_ip6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
|
|
|
lsa->l2tp_conn_id = 0;
|
|
|
if (ipv6_addr_type(&lsa->l2tp_addr) & IPV6_ADDR_LINKLOCAL)
|
|
|
lsa->l2tp_scope_id = inet6_iif(skb);
|
|
|
+ *addr_len = sizeof(*lsa);
|
|
|
}
|
|
|
|
|
|
if (np->rxopt.all)
|