summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorSridhar Samudrala <sri@us.ibm.com>2009-06-05 09:35:44 +0000
committerDavid S. Miller <davem@davemloft.net>2009-06-08 00:25:39 -0700
commit2faef52b72958b8b1c08e927b9b0691c314cf6f4 (patch)
treed23b72d99342dd067dd9753d8b1286236831f54e /net
parentd2d27bfd11659675fdd1c20b1c7f8f59873cad60 (diff)
downloadlinux-stable-2faef52b72958b8b1c08e927b9b0691c314cf6f4.tar.gz
linux-stable-2faef52b72958b8b1c08e927b9b0691c314cf6f4.tar.bz2
linux-stable-2faef52b72958b8b1c08e927b9b0691c314cf6f4.zip
net: Fix memcpy_toiovecend() to use the right offset
Increment the iovec base by the offset passed in for the initial copy_to_user() in memcpy_to_iovecend(). Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/core/iovec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/iovec.c b/net/core/iovec.c
index 40a76ce19d9f..16ad45d4882b 100644
--- a/net/core/iovec.c
+++ b/net/core/iovec.c
@@ -112,9 +112,9 @@ int memcpy_toiovecend(const struct iovec *iov, unsigned char *kdata,
continue;
}
copy = min_t(unsigned int, iov->iov_len - offset, len);
- offset = 0;
- if (copy_to_user(iov->iov_base, kdata, copy))
+ if (copy_to_user(iov->iov_base + offset, kdata, copy))
return -EFAULT;
+ offset = 0;
kdata += copy;
len -= copy;
}