diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2013-12-17 16:29:02 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2013-12-17 16:29:02 -0500 |
commit | 725934ef000471464cd3cd76bbeba3fdd2dad72f (patch) | |
tree | e2d7515294c01a7d9cee06fae7fd56e6b17564ee /net/ipv6/udp.c | |
parent | 691eae354832e65db69742765fc5c20e9ffbb5ee (diff) | |
parent | 50b673d2fefba609f4a84e889277c5e12ce6a93d (diff) |
Merge tag 'v3.4.73' into v3.4-rt
This is the 3.4.73 stable release
Diffstat (limited to 'net/ipv6/udp.c')
-rw-r--r-- | net/ipv6/udp.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index f79bfdbc247f..98fd7384c446 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -348,14 +348,11 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk, int is_udp4; bool slow; - if (addr_len) - *addr_len=sizeof(struct sockaddr_in6); - if (flags & MSG_ERRQUEUE) - return ipv6_recv_error(sk, msg, len); + return ipv6_recv_error(sk, msg, len, addr_len); if (np->rxpmtu && np->rxopt.bits.rxpmtu) - return ipv6_recv_rxpmtu(sk, msg, len); + return ipv6_recv_rxpmtu(sk, msg, len, addr_len); try_again: skb = __skb_recv_datagram(sk, flags | (noblock ? MSG_DONTWAIT : 0), @@ -423,7 +420,7 @@ try_again: if (ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL) sin6->sin6_scope_id = IP6CB(skb)->iif; } - + *addr_len = sizeof(*sin6); } if (is_udp4) { if (inet->cmsg_flags) |