aboutsummaryrefslogtreecommitdiffstats
path: root/net/l2tp/l2tp_ip.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/l2tp/l2tp_ip.c')
-rw-r--r--net/l2tp/l2tp_ip.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
index 571db8dd2292..da1a1cee1a08 100644
--- a/net/l2tp/l2tp_ip.c
+++ b/net/l2tp/l2tp_ip.c
@@ -518,9 +518,6 @@ static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
518 if (flags & MSG_OOB) 518 if (flags & MSG_OOB)
519 goto out; 519 goto out;
520 520
521 if (addr_len)
522 *addr_len = sizeof(*sin);
523
524 skb = skb_recv_datagram(sk, flags, noblock, &err); 521 skb = skb_recv_datagram(sk, flags, noblock, &err);
525 if (!skb) 522 if (!skb)
526 goto out; 523 goto out;
@@ -543,6 +540,7 @@ static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
543 sin->sin_addr.s_addr = ip_hdr(skb)->saddr; 540 sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
544 sin->sin_port = 0; 541 sin->sin_port = 0;
545 memset(&sin->sin_zero, 0, sizeof(sin->sin_zero)); 542 memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
543 *addr_len = sizeof(*sin);
546 } 544 }
547 if (inet->cmsg_flags) 545 if (inet->cmsg_flags)
548 ip_cmsg_recv(msg, skb); 546 ip_cmsg_recv(msg, skb);