new helper: skb_copy_and_csum_datagram_msg()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 6 Apr 2014 22:47:38 +0000 (18:47 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 24 Nov 2014 09:28:44 +0000 (04:28 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/linux/skbuff.h
net/ipv4/udp.c
net/ipv6/raw.c
net/ipv6/udp.c

index 78c299f..cbe4b20 100644 (file)
@@ -2651,6 +2651,11 @@ static inline int skb_copy_datagram_msg(const struct sk_buff *from, int offset,
 }
 int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb, int hlen,
                                     struct iovec *iov);
+static inline int skb_copy_and_csum_datagram_msg(struct sk_buff *skb, int hlen,
+                           struct msghdr *msg)
+{
+       return skb_copy_and_csum_datagram_iovec(skb, hlen, msg->msg_iov);
+}
 int skb_copy_datagram_from_iovec(struct sk_buff *skb, int offset,
                                 const struct iovec *from, int from_offset,
                                 int len);
index 4a16b91..b2d6068 100644 (file)
@@ -1284,9 +1284,8 @@ try_again:
                err = skb_copy_datagram_msg(skb, sizeof(struct udphdr),
                                            msg, copied);
        else {
-               err = skb_copy_and_csum_datagram_iovec(skb,
-                                                      sizeof(struct udphdr),
-                                                      msg->msg_iov);
+               err = skb_copy_and_csum_datagram_msg(skb, sizeof(struct udphdr),
+                                                    msg);
 
                if (err == -EINVAL)
                        goto csum_copy_err;
index 0cbcf98..8baa53e 100644 (file)
@@ -492,7 +492,7 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
                        goto csum_copy_err;
                err = skb_copy_datagram_msg(skb, 0, msg, copied);
        } else {
-               err = skb_copy_and_csum_datagram_iovec(skb, 0, msg->msg_iov);
+               err = skb_copy_and_csum_datagram_msg(skb, 0, msg);
                if (err == -EINVAL)
                        goto csum_copy_err;
        }
index dbc0b04..7cfb5d7 100644 (file)
@@ -428,7 +428,7 @@ try_again:
                err = skb_copy_datagram_msg(skb, sizeof(struct udphdr),
                                            msg, copied);
        else {
-               err = skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr), msg->msg_iov);
+               err = skb_copy_and_csum_datagram_msg(skb, sizeof(struct udphdr), msg);
                if (err == -EINVAL)
                        goto csum_copy_err;
        }