put iov_iter into msghdr
Note that the code _using_ ->msg_iter at that point will be very unhappy with anything other than unshifted iovec-backed iov_iter. We still need to convert users to proper primitives. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -755,11 +755,13 @@ 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) {
|
||||
if (memcpy_fromiovecend(to, msg->msg_iov, offset, len) < 0)
|
||||
/* XXX: stripping const */
|
||||
if (memcpy_fromiovecend(to, (struct iovec *)msg->msg_iter.iov, offset, len) < 0)
|
||||
return -EFAULT;
|
||||
} else {
|
||||
__wsum csum = 0;
|
||||
if (csum_partial_copy_fromiovecend(to, msg->msg_iov, offset, len, &csum) < 0)
|
||||
/* XXX: stripping const */
|
||||
if (csum_partial_copy_fromiovecend(to, (struct iovec *)msg->msg_iter.iov, offset, len, &csum) < 0)
|
||||
return -EFAULT;
|
||||
skb->csum = csum_block_add(skb->csum, csum, odd);
|
||||
}
|
||||
|
Reference in New Issue
Block a user