diff options
author | Sridhar Samudrala <sri@us.ibm.com> | 2009-06-05 05:35:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-08 03:25:39 -0400 |
commit | 2faef52b72958b8b1c08e927b9b0691c314cf6f4 (patch) | |
tree | d23b72d99342dd067dd9753d8b1286236831f54e /net/core | |
parent | d2d27bfd11659675fdd1c20b1c7f8f59873cad60 (diff) |
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/core')
-rw-r--r-- | net/core/iovec.c | 4 |
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, | |||
112 | continue; | 112 | continue; |
113 | } | 113 | } |
114 | copy = min_t(unsigned int, iov->iov_len - offset, len); | 114 | copy = min_t(unsigned int, iov->iov_len - offset, len); |
115 | offset = 0; | 115 | if (copy_to_user(iov->iov_base + offset, kdata, copy)) |
116 | if (copy_to_user(iov->iov_base, kdata, copy)) | ||
117 | return -EFAULT; | 116 | return -EFAULT; |
117 | offset = 0; | ||
118 | kdata += copy; | 118 | kdata += copy; |
119 | len -= copy; | 119 | len -= copy; |
120 | } | 120 | } |