switch getfrag callbacks to ..._full() primitives
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 3 Nov 2016 22:17:31 +0000 (18:17 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 5 Dec 2016 19:34:32 +0000 (14:34 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/net/udplite.h
net/ipv4/ip_output.c
net/ipv4/ping.c

index 80761938b9a78081822a4b82b4bd3fb30b5f6625..59477d8051455fd042c4bd14d47fd6e691786241 100644 (file)
@@ -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 */
index 105908d841a359bb433621b286398a2821852645..be4d149f0321d289885748efc033c47cdff66558 100644 (file)
@@ -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);
        }
index 205e2000d3950d16b22d5fd16f5ad3289f09c712..7dd7baf2a5ad12968d5aa704385c9575dbd5a32b 100644 (file)
@@ -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;
        }