ipv4: raw_send_hdrinc(): pass msghdr
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 28 Nov 2014 00:30:51 +0000 (19:30 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 4 Feb 2015 06:34:13 +0000 (01:34 -0500)
Switch from passing msg->iov_iter.iov to passing msg itself

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
net/ipv4/raw.c

index 0bb68df..2c9d252 100644 (file)
@@ -337,7 +337,7 @@ int raw_rcv(struct sock *sk, struct sk_buff *skb)
 }
 
 static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
-                          void *from, size_t length,
+                          struct msghdr *msg, size_t length,
                           struct rtable **rtp,
                           unsigned int flags)
 {
@@ -382,7 +382,7 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
 
        skb->transport_header = skb->network_header;
        err = -EFAULT;
-       if (memcpy_fromiovecend((void *)iph, from, 0, length))
+       if (memcpy_fromiovecend((void *)iph, msg->msg_iter.iov, 0, length))
                goto error_free;
 
        iphlen = iph->ihl * 4;
@@ -625,8 +625,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
 back_from_confirm:
 
        if (inet->hdrincl)
-               /* XXX: stripping const */
-               err = raw_send_hdrinc(sk, &fl4, (struct iovec *)msg->msg_iter.iov, len,
+               err = raw_send_hdrinc(sk, &fl4, msg, len,
                                      &rt, msg->msg_flags);
 
         else {