summaryrefslogtreecommitdiff
path: root/net/ipv6
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2016-01-02 04:11:55 +0300
committerBen Hutchings <ben@decadent.org.uk>2016-01-23 00:40:09 +0300
commit414d4d9d3354c8e4aa58dc51cea5768f145e5275 (patch)
tree4dd30438885fc292e53da60d7081509eb1f4495e /net/ipv6
parentef90cf3d0b59e3b1dcfe94d1a241107667e6e96a (diff)
downloadlinux-414d4d9d3354c8e4aa58dc51cea5768f145e5275.tar.xz
Revert "net: add length argument to skb_copy_and_csum_datagram_iovec"
This reverts commit 127500d724f8c43f452610c9080444eedb5eaa6c. That fixed the problem of buffer over-reads introduced by backporting commit 89c22d8c3b27 ("net: Fix skb csum races when peeking"), but resulted in incorrect checksumming for short reads. It will be replaced with a complete fix. Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/raw.c2
-rw-r--r--net/ipv6/udp.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index d1e528c1c37c..bebc82108694 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -479,7 +479,7 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
goto csum_copy_err;
err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied);
} else {
- err = skb_copy_and_csum_datagram_iovec(skb, 0, msg->msg_iov, copied);
+ err = skb_copy_and_csum_datagram_iovec(skb, 0, msg->msg_iov);
if (err == -EINVAL)
goto csum_copy_err;
}
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 330880323e1c..15f75e4967e5 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -383,8 +383,7 @@ try_again:
err = skb_copy_datagram_iovec(skb, sizeof(struct udphdr),
msg->msg_iov, copied );
else {
- err = skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr),
- msg->msg_iov, copied);
+ err = skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr), msg->msg_iov);
if (err == -EINVAL)
goto csum_copy_err;
}