diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2016-01-02 04:11:55 +0300 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2016-01-23 00:40:09 +0300 |
commit | 414d4d9d3354c8e4aa58dc51cea5768f145e5275 (patch) | |
tree | 4dd30438885fc292e53da60d7081509eb1f4495e /net/ipv6 | |
parent | ef90cf3d0b59e3b1dcfe94d1a241107667e6e96a (diff) | |
download | linux-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.c | 2 | ||||
-rw-r--r-- | net/ipv6/udp.c | 3 |
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; } |