aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-11-05 16:46:40 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-05 16:46:40 -0500
commit51f3d02b980a338cd291d2bc7629cdfb2568424b (patch)
treef49898ea87db3d5e3f5c248ab21f6ed0a70785b8 /net/ipv6
parent1d76c1d028975df8488d1ae18a76f268eb5efa93 (diff)
net: Add and use skb_copy_datagram_msg() helper.
This encapsulates all of the skb_copy_datagram_iovec() callers with call argument signature "skb, offset, msghdr->msg_iov, length". When we move to iov_iters in the networking, the iov_iter object will sit in the msghdr. Having a helper like this means there will be less places to touch during that transformation. Based upon descriptions and patch from Al Viro. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/datagram.c4
-rw-r--r--net/ipv6/raw.c4
-rw-r--r--net/ipv6/udp.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
index 2cdc38338be3..5c6996e44b14 100644
--- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c
@@ -351,7 +351,7 @@ int ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len, int *addr_len)
351 msg->msg_flags |= MSG_TRUNC; 351 msg->msg_flags |= MSG_TRUNC;
352 copied = len; 352 copied = len;
353 } 353 }
354 err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); 354 err = skb_copy_datagram_msg(skb, 0, msg, copied);
355 if (err) 355 if (err)
356 goto out_free_skb; 356 goto out_free_skb;
357 357
@@ -445,7 +445,7 @@ int ipv6_recv_rxpmtu(struct sock *sk, struct msghdr *msg, int len,
445 msg->msg_flags |= MSG_TRUNC; 445 msg->msg_flags |= MSG_TRUNC;
446 copied = len; 446 copied = len;
447 } 447 }
448 err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); 448 err = skb_copy_datagram_msg(skb, 0, msg, copied);
449 if (err) 449 if (err)
450 goto out_free_skb; 450 goto out_free_skb;
451 451
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 075a0fb400e7..0cbcf98f2cab 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -486,11 +486,11 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
486 } 486 }
487 487
488 if (skb_csum_unnecessary(skb)) { 488 if (skb_csum_unnecessary(skb)) {
489 err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); 489 err = skb_copy_datagram_msg(skb, 0, msg, copied);
490 } else if (msg->msg_flags&MSG_TRUNC) { 490 } else if (msg->msg_flags&MSG_TRUNC) {
491 if (__skb_checksum_complete(skb)) 491 if (__skb_checksum_complete(skb))
492 goto csum_copy_err; 492 goto csum_copy_err;
493 err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); 493 err = skb_copy_datagram_msg(skb, 0, msg, copied);
494 } else { 494 } else {
495 err = skb_copy_and_csum_datagram_iovec(skb, 0, msg->msg_iov); 495 err = skb_copy_and_csum_datagram_iovec(skb, 0, msg->msg_iov);
496 if (err == -EINVAL) 496 if (err == -EINVAL)
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index f6ba535b6feb..9b6809232b17 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -424,8 +424,8 @@ try_again:
424 } 424 }
425 425
426 if (skb_csum_unnecessary(skb)) 426 if (skb_csum_unnecessary(skb))
427 err = skb_copy_datagram_iovec(skb, sizeof(struct udphdr), 427 err = skb_copy_datagram_msg(skb, sizeof(struct udphdr),
428 msg->msg_iov, copied); 428 msg, copied);
429 else { 429 else {
430 err = skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr), msg->msg_iov); 430 err = skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr), msg->msg_iov);
431 if (err == -EINVAL) 431 if (err == -EINVAL)