ipv4: warn once on passing AF_INET6 socket to ip_recv_error
[cascardo/linux.git] / net / ipv4 / ip_sockglue.c
index 9daf217..59eba6c 100644 (file)
@@ -414,6 +414,8 @@ int ip_recv_error(struct sock *sk, struct msghdr *msg, int len, int *addr_len)
        int err;
        int copied;
 
+       WARN_ON_ONCE(sk->sk_family == AF_INET6);
+
        err = -EAGAIN;
        skb = sock_dequeue_err_skb(sk);
        if (skb == NULL)
@@ -424,7 +426,7 @@ int ip_recv_error(struct sock *sk, struct msghdr *msg, int len, int *addr_len)
                msg->msg_flags |= MSG_TRUNC;
                copied = len;
        }
-       err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied);
+       err = skb_copy_datagram_msg(skb, 0, msg, copied);
        if (err)
                goto out_free_skb;