diff options
Diffstat (limited to 'net/l2tp/l2tp_ip.c')
| -rw-r--r-- | net/l2tp/l2tp_ip.c | 4 |
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); |
