Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[cascardo/linux.git] / net / ipv4 / ip_output.c
index c373c07..d68199d 100644 (file)
@@ -755,13 +755,11 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk
        struct msghdr *msg = from;
 
        if (skb->ip_summed == CHECKSUM_PARTIAL) {
-               /* XXX: stripping const */
-               if (memcpy_fromiovecend(to, (struct iovec *)msg->msg_iter.iov, offset, len) < 0)
+               if (copy_from_iter(to, len, &msg->msg_iter) != len)
                        return -EFAULT;
        } else {
                __wsum csum = 0;
-               /* XXX: stripping const */
-               if (csum_partial_copy_fromiovecend(to, (struct iovec *)msg->msg_iter.iov, offset, len, &csum) < 0)
+               if (csum_and_copy_from_iter(to, len, &csum, &msg->msg_iter) != len)
                        return -EFAULT;
                skb->csum = csum_block_add(skb->csum, csum, odd);
        }