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)
|
int len, int odd, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct msghdr *msg = from;
|
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 */
|
/* 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;
|
struct msghdr *msg = from;
|
||||||
|
|
||||||
if (skb->ip_summed == CHECKSUM_PARTIAL) {
|
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;
|
return -EFAULT;
|
||||||
} else {
|
} else {
|
||||||
__wsum csum = 0;
|
__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;
|
return -EFAULT;
|
||||||
skb->csum = csum_block_add(skb->csum, csum, odd);
|
skb->csum = csum_block_add(skb->csum, csum, odd);
|
||||||
}
|
}
|
||||||
|
@ -609,15 +609,15 @@ int ping_getfrag(void *from, char *to,
|
|||||||
fraglen -= sizeof(struct icmphdr);
|
fraglen -= sizeof(struct icmphdr);
|
||||||
if (fraglen < 0)
|
if (fraglen < 0)
|
||||||
BUG();
|
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,
|
fraglen, &pfh->wcheck,
|
||||||
&pfh->msg->msg_iter) != fraglen)
|
&pfh->msg->msg_iter))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
} else if (offset < sizeof(struct icmphdr)) {
|
} else if (offset < sizeof(struct icmphdr)) {
|
||||||
BUG();
|
BUG();
|
||||||
} else {
|
} else {
|
||||||
if (csum_and_copy_from_iter(to, fraglen, &pfh->wcheck,
|
if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck,
|
||||||
&pfh->msg->msg_iter) != fraglen)
|
&pfh->msg->msg_iter))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user