aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/raw.c')
-rw-r--r--net/ipv4/raw.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 41e1d2845c8f..5cb8ddb505ee 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -696,9 +696,6 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
696 if (flags & MSG_OOB) 696 if (flags & MSG_OOB)
697 goto out; 697 goto out;
698 698
699 if (addr_len)
700 *addr_len = sizeof(*sin);
701
702 if (flags & MSG_ERRQUEUE) { 699 if (flags & MSG_ERRQUEUE) {
703 err = ip_recv_error(sk, msg, len); 700 err = ip_recv_error(sk, msg, len);
704 goto out; 701 goto out;
@@ -726,6 +723,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
726 sin->sin_addr.s_addr = ip_hdr(skb)->saddr; 723 sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
727 sin->sin_port = 0; 724 sin->sin_port = 0;
728 memset(&sin->sin_zero, 0, sizeof(sin->sin_zero)); 725 memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
726 *addr_len = sizeof(*sin);
729 } 727 }
730 if (inet->cmsg_flags) 728 if (inet->cmsg_flags)
731 ip_cmsg_recv(msg, skb); 729 ip_cmsg_recv(msg, skb);