mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 01:51:53 +00:00
switch getfrag callbacks to ..._full() primitives
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
15e6cb46c9
commit
0b62fca262
@ -20,7 +20,7 @@ static __inline__ int udplite_getfrag(void *from, char *to, int offset,
|
||||
int len, int odd, struct sk_buff *skb)
|
||||
{
|
||||
struct msghdr *msg = from;
|
||||
return copy_from_iter(to, len, &msg->msg_iter) != len ? -EFAULT : 0;
|
||||
return copy_from_iter_full(to, len, &msg->msg_iter) ? 0 : -EFAULT;
|
||||
}
|
||||
|
||||
/* Designate sk as UDP-Lite socket */
|
||||
|
@ -802,11 +802,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) {
|
||||
if (copy_from_iter(to, len, &msg->msg_iter) != len)
|
||||
if (!copy_from_iter_full(to, len, &msg->msg_iter))
|
||||
return -EFAULT;
|
||||
} else {
|
||||
__wsum csum = 0;
|
||||
if (csum_and_copy_from_iter(to, len, &csum, &msg->msg_iter) != len)
|
||||
if (!csum_and_copy_from_iter_full(to, len, &csum, &msg->msg_iter))
|
||||
return -EFAULT;
|
||||
skb->csum = csum_block_add(skb->csum, csum, odd);
|
||||
}
|
||||
|
@ -609,15 +609,15 @@ int ping_getfrag(void *from, char *to,
|
||||
fraglen -= sizeof(struct icmphdr);
|
||||
if (fraglen < 0)
|
||||
BUG();
|
||||
if (csum_and_copy_from_iter(to + sizeof(struct icmphdr),
|
||||
if (!csum_and_copy_from_iter_full(to + sizeof(struct icmphdr),
|
||||
fraglen, &pfh->wcheck,
|
||||
&pfh->msg->msg_iter) != fraglen)
|
||||
&pfh->msg->msg_iter))
|
||||
return -EFAULT;
|
||||
} else if (offset < sizeof(struct icmphdr)) {
|
||||
BUG();
|
||||
} else {
|
||||
if (csum_and_copy_from_iter(to, fraglen, &pfh->wcheck,
|
||||
&pfh->msg->msg_iter) != fraglen)
|
||||
if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck,
|
||||
&pfh->msg->msg_iter))
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user