aboutsummaryrefslogtreecommitdiff
path: root/net/ipv6/udp.c
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2013-12-17 16:29:02 -0500
committerSteven Rostedt <rostedt@goodmis.org>2013-12-17 16:29:02 -0500
commit725934ef000471464cd3cd76bbeba3fdd2dad72f (patch)
treee2d7515294c01a7d9cee06fae7fd56e6b17564ee /net/ipv6/udp.c
parent691eae354832e65db69742765fc5c20e9ffbb5ee (diff)
parent50b673d2fefba609f4a84e889277c5e12ce6a93d (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.c9
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)