aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-12-10 15:51:28 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2015-02-04 01:34:16 -0500
commitba7438aed924133df54a60e4cd5499d359bcf2a8 (patch)
treee29c9a26421611c374667b022c9904ab527c496f /lib
parent98a527aac1eb198dbc4405b800e102563ed8e4dd (diff)
vhost: don't bother copying iovecs in handle_rx(), kill memcpy_toiovecend()
Cc: Michael S. Tsirkin <mst@redhat.com> Cc: kvm@vger.kernel.org Cc: virtualization@lists.linux-foundation.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'lib')
-rw-r--r--lib/iovec.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/lib/iovec.c b/lib/iovec.c
index 4a90875c64ae..d8f17a9b1ccf 100644
--- a/lib/iovec.c
+++ b/lib/iovec.c
@@ -3,32 +3,6 @@
3#include <linux/uio.h> 3#include <linux/uio.h>
4 4
5/* 5/*
6 * Copy kernel to iovec. Returns -EFAULT on error.
7 */
8
9int memcpy_toiovecend(const struct iovec *iov, unsigned char *kdata,
10 int offset, int len)
11{
12 int copy;
13 for (; len > 0; ++iov) {
14 /* Skip over the finished iovecs */
15 if (unlikely(offset >= iov->iov_len)) {
16 offset -= iov->iov_len;
17 continue;
18 }
19 copy = min_t(unsigned int, iov->iov_len - offset, len);
20 if (copy_to_user(iov->iov_base + offset, kdata, copy))
21 return -EFAULT;
22 offset = 0;
23 kdata += copy;
24 len -= copy;
25 }
26
27 return 0;
28}
29EXPORT_SYMBOL(memcpy_toiovecend);
30
31/*
32 * Copy iovec to kernel. Returns -EFAULT on error. 6 * Copy iovec to kernel. Returns -EFAULT on error.
33 */ 7 */
34 8